使用Grunt构建并使用Capistrano进行部署时,Jenkins的最佳实践是什么?

 e31384874 发布于 2023-01-07 15:17

我目前正在我们的办公室设置一个构建服务器,我想知道这是什么最好的做法.我知道每种情况都要求采用不同的方法,并且有一百万种方法可以实现相同的目标,但由于我是Jenkins的新手和一般的构建服务器的概念,我想知道我是否这样做'对了".

我们公司专注于为各种客户构建网站,如WordPress或Magento等各种平台.我现在有以下设置:

我们将更改推送到Git中的master或staging-branch.Jenkins轮询这些分支,并在检测到更改时执行以下操作:

从Git中拉出存储库(master在此示例中)

签出一个叫做的分支 build-master

将此分支重置为 origin/master

是否找到了npm installa package.json.

是否找到了grunt builda Gruntfile.js.

(这里有其他东西的空间,如phpunit或casperJS测试)

提交更改并将其推回origin/build-master.

执行a cap build-master deploy让Capistrano处理远程服务器上的部署.

现在我想知道这是否是使用构建服务器的"正确"方式.我遇到了一些逻辑问题.喜欢:

例如供应商软件.当我有各种带有Bower的JS库(它们位于git-ignored js/vendor-folder中)时,我可以将它们连接起来并将其uglify为一个缩小的JS文件,这样它们就可以将它们提交到build-master-repository(对于Capistrano).但是当我有PHP库(例如使用Composer)时,我不知道如何处理这个问题.它们位于git-ignored php/vendor-folder中,但它们需要包含在-branch中,build-master以便在实时服务器上部署get.目前我这样做是通过向.gitignore.build我的存储库添加一个包含php/vendor-folder的存储库,并.gitignore在提交和推送之前用这一个覆盖现有的存储库origin/build-master.

和/或:

编译文件.当我不想包含一些文件(比如从SASS生成的CSS文件)时,我把它们放在了.gitignore.但同样,当Capistrano要部署它时,我希望编译的,连接的和缩小的CSS文件在我的存储库中,否则它不会放在我的生产服务器上.

任何人都可以告诉我,我是否应该以它应该的方式构建和部署?或者我在这里完全过于复杂了?我真的很感兴趣那些有更多经验的人在他们的构建过程中如何利用Jenkins,Grunt,Bower,Composer,Capistrano等.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有