Deployment 从持续集成部署构建文件

Deployment 从持续集成部署构建文件,deployment,continuous-integration,amazon-elastic-beanstalk,continuous-deployment,Deployment,Continuous Integration,Amazon Elastic Beanstalk,Continuous Deployment,我正在与多人合作进行一个项目,这是一个网站应用程序,需要构建网页包,并将其丑化,连接成几个文件,例如app.min.js、style.min.css等。因此,为了防止合并冲突,我们最近将构建文件夹添加到.gitignore,假设我们能够在部署期间进行构建 当推送到主分支时,我们通过信号量CI(类似于Travis)自动“部署”,该信号量CI运行composer安装、npm安装,最后是触发webpack构建的“npm运行构建”。这些都是在CI端构建和测试的,然后信号量自动部署到Amazon的Elas

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

当推送到主分支时,我们通过信号量CI(类似于Travis)自动“部署”,该信号量CI运行composer安装、npm安装,最后是触发webpack构建的“npm运行构建”。这些都是在CI端构建和测试的,然后信号量自动部署到Amazon的Elastic Beanstalk,我们的应用程序就在这里托管

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


显然,如果第三次在电子商务上构建它是实现这一目标的唯一途径,那么我必须这样做,只是想知道是否有更好的解决方案来解决整个工作流程。

我刚刚有了一个很好的第一次体验。可以直接部署到elastic beanstalk。它可能会很有趣,你也可以。

我还没有使用过信号量CI,但你可能可以使用

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

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

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


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

我并不想在这个工作流中再添加一个构建步骤,否则我只会在EB上运行构建。你能让它工作吗?我尝试了下面提到的@Dean解决方案,但在CI系统上不工作我试过了。虽然它在本地有效。这对我来说在本地有效,但在我试过的CI系统上不起作用。知道为什么会是这样吗?刚刚更新了我的答案,我认为他们不支持。我知道这个问题是由Travis CI提出来的,但没有得到太多的关注,所以我们只能等待和希望。