繁体   English   中英

从持续集成部署构建文件

[英]Deploy build files from continuous integration

我正在开发一个有多个人的项目,一个网站应用程序,需要构建webpack,uglified,连接成几个文件,例如app.min.js,style.min.css等。 - 结果,在一个为了防止合并冲突我们最近将build文件夹添加到.gitignore,假设我们能够在部署期间构建。

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

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

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

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

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

我发现在某些部署情况下你需要你的.gitignore的反转(所有编译,没有src)。 它本质上允许您从项目目录中选择要部署的文件,方法与.gitignore文件相同。

编辑 :我刚刚注意到aws上的文档缺乏。 它只提到文件排除,但您也可以包含文件。

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

我刚刚通过https://deploybot.com/获得了很好的第一次体验。 可以直接部署到弹性豆茎上。 它可能很有趣或者你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM