相关疑难解决方法(0)

在CI环境中自动部署PHP(Jenkins)

我目前正在考虑为一个小型开发团队共享的项目建立一个强大的CI和部署环境.目标是在测试方式,整体代码质量和部署方式方面实现一致性.

我读过关于Jenkins,Sonar,Maven,Capistrano,Phing,ANT,......说实话,我迷失在所有这些工具/技术的中间,并希望你验证我的理解并给予我对实现这一目标的最佳方法有所了解.

到目前为止我已经设置了什么:

  • Git:我们使用git作为版本控制系统,并为需要由CI工具分析的所有新开发人员提供分支"开发".
  • Jenkins:Jenkins由GIT钩子(在开发分支上)触发,并将执行PHING脚本执行以下操作:

    • Lint:验证PHP代码执行,代码分析器
    • PHPLoc:获取一些关于PHP代码的统计信息(复杂性,依赖性......)
    • PDepend:代码分析(不确定与PHPLoc的区别)
    • phpmd:乱七八糟的探测器(未使用的参数,复杂的代码...)
    • phpcpd:检测复制粘贴代码
    • PHPcs:验证编码标准
    • Phpdox:生成PHP文档
    • Php_Codebrowser:生成一个可浏览的PHP代码表示,其中包含违规的亮点......
    • PHPUnit:运行PHP测试

    Jenkins随后将所有报告/数据发送给Sonar unsing a sonnar-runner.

  • Sonar正在收集所有这些数据,将它们存储在一个数据库中,该数据库提供了一种分析应用程序代码随时间演变的方法.它还以比Jenkins更好的方式显示信息.

缺少块

  • 自动部署到QA: 当构建脚本成功时(基于测试成功),我想自动部署到QA env.这应该触发一个在QA上提取正确数据的过程,对DB进行更改,并对潜在的文件/文件夹进行清理和权限设置.
  • 自动部署到PROD:这应该与上面相同,但基于主分支.我们还应该在部署后在该PROD环境中添加另一轮测试.

工具评论

  • Git:没有必要解释这个,它是关于版本控制的
  • Jenkins:CI工具,可自动构建(代码验证+测试)
  • 声纳:报告工具(随时间可视化构建数据)
  • Maven:不确定这个.它是部署的缺失部分吗?还是其他报告工具?
  • Capistrano:部署工具

你的输入:-)

  • 您对我的CI总体设置的观点(它是否有意义,我使用的是正确的工具吗?)
  • 您的经验是什么是最好的部署工具?
  • 由于Jenkins在这个整体CI /部署架构中是"调度员",它是否也是触发部署的?如果是,我认为可以根据构建状态(成功/失败)触发某些操作?

非常感谢您的时间和帮助!

php deployment build-automation continuous-integration jenkins

20
推荐指数
1
解决办法
1万
查看次数

构建成功后,从远程计算机上的工作区执行Shell脚本(Jenkins)

场景是 - 我有一个工作A运行我的蚂蚁脚本并为我打包工件.

我还使用参数化触发插件来触发我的"作业B",它将在远程机器上部署我的工件.

工作A工作正常,还有工作B.

我必须对工作B执行的任务是

  1. GIT结帐(包含我的部署脚本)(成功捐赠).
  2. 将先前构建的工件复制到远程计算机.(成功)
  3. 在远程计算机上运行shell脚本(工作空间文件夹中的脚本) - 面临问题.

我浏览了相同的各种插件,但没有人允许我在Post构建操作中出现的"SCP to remote machine"之后运行shell脚本.

我想执行相同的序列,但是如果你们有任何其他建议请分享.

提前致谢.!

jenkins jenkins-plugins jenkins-cli

9
推荐指数
2
解决办法
5万
查看次数

我怎样才能在jenkins中自动化构建部署?

我们正在使用jenkins进行CI.我们得到深夜建设.一旦我们收到邮件或暗示,有没有办法自动化构建部署?任何建议,将不胜感激..

continuous-integration build release-management jenkins

7
推荐指数
1
解决办法
4万
查看次数

Jenkins - 如何在不重新运行作业的情况下运行构建后操作?

我有一个冗长的詹金斯工作,失败的后期构建操作.

如何在不重新运行整个作业的情况下重复运行构建后操作?

continuous-integration jenkins

6
推荐指数
1
解决办法
6474
查看次数