Docker 部署 Jenkins 并实现项目的自动构建与部署
Contents
Jenkins 是开源 CI&CD 软件的佼佼者,提供超过 1000 个插件,支持构建、部署和自动化,满足各种项目的需求。
部署 Jenkins
编写 docker-compose.yml:
|
|
警告:如果选择将 /var/jenkins_home 映射到宿主机 /opt/jenkins,可能会报错 xxx Permission denied,此时修改 /opt/jenkins 的权限为 777 即可。
Jenkins Docker 服务启动后,完成 Nginx 的反向代理:
|
|
初始化 Jenkins
Nginx 启动后,通过浏览器访问控制台,会提示解锁 Jenkins,根据提示去 /var/jenkins_home/secrets/initialAdminPassword 文件中获取解锁码。按照上述 docker-compose 的配置,该文件已经被映射到了宿主机 /opt/jenkins/secrets/ 下,可以直接访问到
接下来,按照提示安装插件(比如:Maven、Docker 插件),创建管理员账户并成功登录,即可进入控制台。
插件安装完成后,勾选“安装完成后重启 Jenkins(空闲时)”,使插件生效。
插件安装成功后,进入 Dashboard > 系统管理 > 全局工具配置 完成 SpringBoot 项目的环境配置,url 地址为 https://{$jenkins-host}/manage/configureTools/:
Github 凭证添加
Jenkins 需要从 Git 仓库拉取代码,所以这里需要配置连接凭证。首先登录 Github Developer Settings,遵循最小权限原则,创建一个专供 Jenkins 使用的 Token
然后回到 Jenkins 控制台,创建一个 Username with password 类型的凭据:
用户名为 Github 用户名,密码为刚刚创建的 Token;
设置路径为 Dashboard > 系统管理 > 凭据管理 > 全局凭据 (unrestricted);
url 地址为 https://{$jenkins-host}/manage/credentials/store/system/domain/_/。
至此,Jenkins 的服务端就配置完成了,接下来开始正式运维项目。