gpt4 book ai didi

deployment - 从持续集成中部署构建文件

转载 作者:行者123 更新时间:2023-12-03 10:03:26 25 4
gpt4 key购买 nike

我正在与多人合作一个项目,一个网站应用程序需要构建、丑化、连接成几个文件,例如app.min.js、style.min.css 等 - 因此,为了防止合并冲突,我们最近将构建文件夹添加到 .gitignore,假设我们能够在部署期间构建。

当推送到 Master 分支时,我们通过运行 composer install、npm install 的 Semaphore CI(类似于 Travis)自动“部署”,最后是触发 webpack 构建的“npm run build”。这一切都是在 CI 方面构建和测试的,然后 Semaphore 自动部署到托管我们应用程序的 Amazon Elastic Beanstalk。

问题是,Semaphore 似乎没有上传它刚刚测试过的构建,而是上传了没有构建 JS 或 CSS 的 Master 分支本身。我想知道是否有办法将这些构建的文件也推送到部署,或者如果在 Elastic Beanstalk 上再次运行整个构建过程是唯一的途径。似乎没有必要在本地执行 3 次该过程,然后是 CI,然后是部署。每次在 EB 上需要这样的步骤时,实际的重新实例化时间都会变长,我希望它尽可能短。

显然,如果在 EB 上第三次构建它是解决此问题的唯一方法,那么我将不得不这样做,只是想知道是否有更好的解决方案来解决整个工作流程。

最佳答案

我没有使用过 Semaphore CI,但您可以使用 .ebignore file .

如果您创建一个,cli 将使用它而不是您的 .gitignore 文件。

我发现在某些部署情况下,您需要 .gitignore 的逆向(全部编译,无 src)。它基本上允许您从项目目录中选择要部署的文件,就像 .gitignore 文件一样。

编辑:我刚刚注意到缺少关于 aws 的文档。它只提到文件排除,但你也可以包括文件。

编辑 2:我认为 Semaphore 不支持使用 .ebignore,所以现在这个解决方案没有任何用处。 :(

关于deployment - 从持续集成中部署构建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37390719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com