我目前正在办公室设置构建服务器,我想知道这是什么样的最佳做法。我知道每种情况都要求采用不同的方法,并且有一百万种方法可以实现相同的目标,但由于我是Jenkins的新手以及构建服务器的概念,我想知道我是否正在做这个'对'。
我们公司专注于为各种客户构建网站,如WordPress或Magento等各种平台。我现在有以下设置:
我们将更改推送到Git中的master或staging-branch。 Jenkins轮询这些分支,并在检测到更改时执行以下操作:
master
)build-master
origin/master
npm install
是否找到package.json
。grunt build
是否找到Gruntfile.js
。origin/build-master
。cap build-master deploy
让Capistrano处理远程服务器上的部署。现在我想知道这是否是正确的'使用构建服务器的方式。我遇到了一些逻辑问题。像:
例如, 供应商软件。当我有Bower的各种JS库(它们位于git-ignored js/vendor
- 文件夹中)时,我可以连接并将它们uglify为一个缩小的JS文件,以便它们将git提交到build-master
-repository(对于Capistrano)。但是当我有PHP库(例如使用Composer)时,我不知道如何处理这个问题。它们位于git-ignored php/vendor
文件夹中,但它们需要包含在build-master
- 分支中,以便在实时服务器上部署get。目前,我通过向我的存储库添加.gitignore.build
来执行此操作,其中包含php/vendor
- 文件夹,并在提交并推送到{之前覆盖现有.gitignore
之前使用此文件夹。 {1}}。
和/或:
已编译的文件。当我不想包含一些文件(例如从SASS生成的CSS文件)时,我将它们放在origin/build-master
中。但同样,当Capistrano要部署它时,我希望编译的,连接的和缩小的CSS文件存放在我的存储库中,否则它不会放在我的生产服务器上。
任何人都可以告诉我,我是否应该按照“应该”的方式进行构建和部署。是?或者我在这里完全过于复杂了?我非常感兴趣的是那些有更多经验的人如何在他们的构建过程中使用Jenkins,Grunt,Bower,Composer,Capistrano等。
答案 0 :(得分:0)
我正在寻找完全相同的回复。我处于同样的情况,并想知道如何通过最好的启动配置来完成
既然您想知道如何使用grunt进行部署,那么本教程对您有用,我希望这会给出一些创意:https://weluse.de/blog/continuous-deployment-with-yeoman-and-jenkins.html
另外,如果您对当前项目有任何反馈,我很感兴趣。