使用微服务,Docker,Jenkins和GIT创建适当的构建或部署链

Joh*_*ohn 5 git continuous-integration jenkins docker

我们目前正在开始从monolith应用程序迁移到Microservices.目前正致力于使用微服务,Docker,Jenkins和GIT创建适当的构建或部署链

以下是我们正在考虑的初始阶段的简单过程.我希望应该有更好的工具和流程来透明地流式传输这些阶段.请告知用于改善此流程的最佳实践和工具.

  1. 开发人员所做的更改将合并到Git存储库.
  2. Jenkins启动构建并创建使用构建版本标记的docker镜像
  3. Jenkins部署docker镜像并运行集成测试
  4. Jenkins注册了docker图像
  5. QA执行手动测试.他们使用脚本,根据提供的版本下载这些图像,并通过覆盖dockerfile中提到的属性来设置测试环境.
  6. 我们将为UAT提供类似的脚本

sch*_*unk 0

我最近回答了类似的问题,请参阅/sf/answers/2422127431/

我们使用的不是 Jenkins,而是 GitLab。我们的 CI 工作流程非常通用,因此应该可以轻松调整为 Jenkins 设置。我们也在使用docker-compose开发、CI 和生产部署,以便能够创建更复杂的微服务设置。

工作流程

  1. 从本地存储库克隆应用程序
  2. 开始申请make all
  3. 更改本地开发堆栈
  4. (可选)在隔离的本地测试堆栈中运行测试make TEST up setup run-tests
  5. 提交(触发 CI)
  6. CI 构建镜像
  7. CI 启动隔离堆栈(通过设置自定义COMPOSE_PROJECT_NAME)并执行设置操作
  8. CI 运行测试(还有 Selenium 容器的验收测试)
  9. CI 创建报告
  10. CI 执行隔离堆栈的清理
  11. CI 标记图像并将其推送到注册表(如果测试成功)

资源