使用Jenkins和Docker进行持续部署

时间:2017-04-05 14:39:53

标签: docker jenkins docker-compose continuous-deployment

我们正在为财务应用程序构建基于Java的高可用性服务。我是使用Jenkins管理持续集成的团队的一员。

最近我们在列表中引入了持续部署,我们选择了Docker容器。

以下是基础设施:

生产群集将有3台RHEL机器在每台机器上运行以下docker容器:

  • Wildfly的3个实例
  • 卡桑德拉
  • Nginx

应用程序IDE是Netbeans,源代码是git。

目前,我们正在此基础架构上进行手动部署。

请向我推荐一些与Jenkins一起使用的工具,以完成持续部署过程。

1 个答案:

答案 0 :(得分:0)

  • 您可能希望jenkins在每次推送到jenkins存储库时触发。有一些插件可以帮助您使用webhook。Gitlab-plugin是Github和其他git解决方案类似解决方案的解决方案。
  • 您可能希望使用jenkins管道插件甚至jenkins pipeline设置pipeline: multibranch plugin,而不是严重依赖bash和jenkins配置。有了这些,您可以在存储库中自动构建groovy代码(jenkinsfile),并可以在其上构建其他插件来添加功能。
  • 然后,您可以使用docker管道插件轻松构建docker容器,推送docker镜像并在docker容器中运行代码。
  • 我建议在docker中构建你的服务,这样你的jenkins机器就没有安装所有不同的依赖项(因此也许是冲突的版本)。使用包含所有依赖项的docker容器,并使用groovy中的docker管道插件在那里运行构建代码。
  • 安装注册表解决方案以将您的泊坞窗图像推送到。
  • 使用Pipeline: Shared Groovy Libraries从jenkins文件中提取库,以便可以重复使用它们。这些库文件应该有自己的存储库,jenkins知道并保持最新。可能你甚至可以在多个项目之间共享一个完整的管道进程,只需在jenkins文件中添加参数。

很多文字都没有例子。如果您认为某些内容很有趣,并且您希望看到一些代码,那就问一下。我目前正在设置这一切。