
最近新开的一个项目,基于 SpringBoot 开发。
目前思路是基于 Docker 镜像运行,单台机器运行 2-3 个 Docker 应用,希望每次提交更新后从 Git 上自动拉取源码编译后关闭当前 Docker 容器,并运行新的 Docker 容器,然后 Nginx 自动更新配置实现自动化部署,现在想问问有没有什么比较好的方案解决这个问题,目前不知道该怎么下手做。用 Jenkins ? 还有就是 SpringBoot 端口随机,如何获取端口再写入到 Nginx 规则中?
1 qfdk PRO |
2 guojxx Mar 19, 2018 我不是来回答的,我也是新手 我想了解的是我现在写的 springboot 写的项目部署的话,直接用 jar 部署,配置 nginx 转发。跟你们说的搞 docker 部署差别在哪里,还有 docker 在这一方面体现什么优点。 |
3 mikuazusa Mar 19, 2018 当然 Jenkins 啦,用 git hook 绑定,然后写打包、部署自动化脚本,调试好了基本就能用。 “ SpringBoot 端口随机” 这类问题用类似类似 pid 的端口信息文件记录起来,再用脚本处理 Nginx 规则应该就可以了。 |
4 HuHui Mar 19, 2018 jenkins 或者 gitlab runner 了解下 |
5 Mogugugugu Mar 19, 2018 Jenkins 了解一下,Spring Boot 端口随机这是要求么?通过 Spring Boot 的配置文件指定一个固定端口不可以么? Spring boot 端口不必暴露给宿主机,使 nginx 和 Spring boot 在同一网络下,互相访问就可以。 |
6 Solarest Mar 19, 2018 项目配置好 Dockerfile 并选用一个镜像仓库,然后配置 Jenkins、Rancher 进行部署。 |
7 retanoj Mar 19, 2018 Rancher API |
8 Luckyray Mar 19, 2018 via iPhone rancher pipeline 了解一下,很简单 |
9 night98 OP |
10 JRay Mar 19, 2018 我是用的 Jenkins 设置好自动部署 |
11 th00000 Mar 20, 2018 jenkins pipeline 了解一下 |
12 mikuazusa Mar 20, 2018 @night98 你 Jenkins 部署在内网,外网开放 Jenkins 访问端口就看而已了,gitlab 没必要部署到外网啊。 不知道你的问题是不是这个意思。 |
15 jack80342 Mar 24, 2018 这几天翻译了最新的 Spring Boot 2.0 的英文文档,欢迎 Fork,https://www.gitbook.com/book/jack80342/spring-boot/details |