CI开发的最佳实践是什么?

时间:2019-04-01 09:22:32

标签: jenkins gradle intellij-idea continuous-integration nexus

我们开始为我公司的系统开发CI工作流程。

当前,我们仅完成一些基本任务,例如构建,测试和上传到Nexus

技术堆栈是一个Java项目,该项目构建在Gradle中,而Jenkins进行了构建。

当前,我正在使用一些基本的Groovy脚本来满足我们的需要,但是每次我将更新后的代码复制并粘贴到Jenkins并从{{1} } UI来查看结果,对我来说,开发这种自动化代码似乎不是一种很好的方法。

我的问题是,构建和运行Jenkins工作的最佳实践是什么?

  • 是否可以直接从Jenkins运行它?
  • 我们是否需要创建一个Intellij项目并保存为存储库,然后将其部署到Jenkins机器上?
  • 我们是否需要使用一些Jenkins插件才能使用Intellij

欢迎其他最佳做法:)

1 个答案:

答案 0 :(得分:0)

Jenkins有一个API-因此您可以做任何想做的事!

但是通常,对于中小型团队,最好使用Jenkinsfile并让Jenkins从SCM提取代码更改(或提取请求)并触发构建。如果SCM支持此功能,您还可以配置挂钩来触发构建(Github和bitbucket支持此功能)。

如果您最终将工件推送到docker映像,我强烈建议使用docker multi-stage builds

如果您是完全不熟悉CI / CD的人-Atlassian有很多不错的资源https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment