首页 > 解决方案 > 使用 DevOps 管道创建应用程序的分发包

问题描述

我们希望创建应用程序的捆绑包,以便分发给客户端等。一个应用程序可以有多个组件。例如:一个应用程序可以有一个 spring 服务器和一个调度程序,因此为了分发这个应用程序,两个 jar 都必须提供给客户端。

我们想使用 Docker/Docker compose 来完成这个。例如:我们给客户端一个包含 Docker 组合文件的包,它们只是运行docker-compose up以启动应用程序。

我们目前有一个 Jenkins 管道,运行时会生成一个 zip 文件,其中包含.tar组件的所有 Docker 映像文件。还有一个start.sh(或start.bat)文件,在运行时会加载所有 Docker 镜像并运行docker-compose up.

其中一些组件具有客户端需要根据其环境配置的属性(例如:SCM URL)。如果组件是基于 Spring/Java 的,我们会将 application.properties 文件从外部挂载到 docker 镜像中docker-compose.yml

这一切都有效,我只想知道我们当前使用的流程是否符合行业标准,或者是否有更好的方法来满足要求?任何可以简化流程的开源工具?

更新:我们在执行上述过程时遇到的唯一“问题”是必须更改配置属性以适应我们的 docker-compose 环境。例如application.properties,在开发人员签入到 SCM 的文件之一中,他指定了 MySQL 主机,localhost而在我们的 Docker compose 环境中部署时,MySQL 容器将有一个主机名mysql。我们如何处理这样的问题?在 Java/Spring 应用程序中,我们是否使用配置文件?例如:application-dev.properties& application-docker.properties。或者有没有更好的方法来进行应用程序配置管理

标签: dockerdocker-composedevopscontinuous-delivery

解决方案


推荐阅读