首页 文章

从持续集成部署构建文件

提问于
浏览
3

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

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

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

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

2 回答

  • 3

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

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

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

    Edit :我刚刚注意到关于aws的文档缺乏 . 它只提到文件排除,但您也可以包含文件 .

    Edit 2 :我不喜欢't think Semaphore supports the use of .ebignore, so right now this solution isn' . :(

  • 0

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

相关问题