前言
这是一个用 Docker 部署 Jenkins,再通过 Jenkins+Github 实现主动部署,将 SpringBoot 我的项目打包老本地 Docker 镜像再公布成容器的记录。
思路是 Docker 部署 Jenkins,与 Github 进行关联,最初 Jenkins 主动拉取并编译完代码后通过 SSH 登录宿主服务器,再公布镜像
1.Docker 部署 Jenkins
- yum install docker 装置 Docker
- service docker start 启动 docker
- docker search jenkins 搜寻公共镜像库的 jenkins 镜像
- 失常应用第一个官网镜像,因为是本人的我的项目所以应用了自带 blueocean 这个更好看的插件的镜像
- docker run -d -p 8080:8080 -v /root/jenkins_home:/var/jenkins_home –name jenkins_demo jenkinsci/blueocean
-d 后盾运行
-p 绑定宿主端口:容器端口
-v 绑定宿主文件夹:容器要害文件夹
–name 重命名容器名称
2.Jenkins 部署
- 第一次进入主页须要明码,docker logs jenkins_demo,能够看到 Jenkins 的日志,日志中蕴含了明码。
- 除了举荐插件装置外,为了之后的 Maven 我的项目部署,须要额定下载插件 Maven Integration plugin;以及为了部署后去服务器上公布 docker 镜像,额定下载插件 SSH plugin。
- 下了 Maven 插件后才有如下图所示的构建一个 Maven 我的项目。
- 首先配置源码治理,认证的时候如果是公有我的项目才填认证信息否则能够为空
- 而后构建触发器中 hook 打钩
- Maven 我的项目中须要从新打 jar 包
7. 最初登录到主机上把打好的 jar 包复制到备份目录中最初通过 make 脚本构建镜像
我的项目配置结束
- 系统配置中,这个 SSH 须要提前配置 下面我的项目能力应用近程 SSH 凭证登录到主机上实现操作
- Github 配置
这个中央凭证配置的是 github 的 token
token 从 Github 中获取,地位在集体的 Setiing 中的 Developer setting
并在服务器的高级中,抉择指定另一个 Hook
用于 Github 上 - 在全局工具配置里 因为 Jenkins 是部署到 Docker 容器外部,所以 Maven,JDK,Git 都应用主动装置
零碎全局配置结束
3. 打包我的项目镜像并公布成容器
待续