1、 什么是Jenkins
2 Jenkins安装准备工作
- 机器环境
机器名称 | IP | 内存 | 处理器 | 硬盘 |
---|---|---|---|---|
node1(master) | 192.168.1.235 | 3G | 1核 | 20G |
node2(slave) | 192.168.1.236 | 3G | 1核 | 20G |
- 准备两台机器(演示多台机器Jenkins部署Web项目),这里我是在虚拟机安装的2台CentOS操作系统的环境配置情况,你可以根据自己的学习情况进行分配内存和硬盘或你土豪可以准备2台云环境也OK
- docker脚本安装,指定Jenkins默认路径
/root/.jenkins/workspace
拉取代码的路径同步到宿主机路径/usr/local/jenkins/workspace.
- docker脚本安装,指定Jenkins默认路径
- 由于jdk和maven,git都在宿主机,所以要v(数据卷参数)指定jenkins容器的路径把宿主机的软件同步到容器
docker run -d --restart=always -p 9001:8080 \
-v /usr/local/jenkins/workspace/:/root/.jenkins/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/git:/usr/bin/git \
-v /usr/local/jdk1.8:/usr/local/jdk1.8 \
-v /usr/local/maven3:/usr/local/maven3 --name jenkins jenkins:latest
- 安装参数说明
参数1 | 参数说明 |
---|---|
docker.sock | 守护进程文件 |
--restart=always | 设置自动重启命令 |
--name jenkins | 给这个容器起一个名称,jenkins:latest指定版本进行安装 |
/usr/usr/git | git安装的目录 |
/usr/local/jdk1.8 | JDK安装的目录 |
/usr/local/maven3 | maven3 安装的目录 |
\ | 表示shell脚本换行转义符 |
3、Jenkins安装图解说明
-
1 获取解锁秘钥,此秘钥是在Jenkins容器里面,此时必须要进入容器里面获取
- 进入Jenkins容器里面命令
docker exec -it jenkins /bin/bash
- cat指定文件获取
- 进入安装插件,选择自定义安装 然后下一步下一步.等待安装.
- 创建管理用户和密码
4 设置全局工具
4.1 进入 Global Tool Configuration菜单
4.2 配置Maven的setting.xml文件
4.3 配置Maven环境变量
4.4 注意配置Maven
注意:MAVEN_HOME,如果是Docker安装Jenkins的话,必须是Jenkins里面指定路径的路径,否则找不到文件路径保错,不管是JDK,还是Git都是同理.*
/usr/local/maven3 is not a directory on the Jenkins master(but perhaps it exists on some agents)
4.5 配置Git环境变量
5 系统设置
-
5.1 SSH remote hosts 目标SSH机器连接设置
-
5.2 Publish over SSH 参数说明
参数名称 | 参数说明 |
---|---|
Passphrase | 操作用户 SSH Key 的密码,如果未设置,可以不填 |
Path to key | jenkins用户 SSH 私钥key的路径 |
Key | jenkins用户的ssh 私钥的内容 |
name | ssh连接的名称,可以随意取,有意义就OK |
Host Name | 远程服务器的域名/IP,建议是IP |
Username | 远程系统的用户名 |
Remote Directoey | 远程目录 |
-
5.3 Publish over SSH 机器图解
6 添加全局用户名凭证
7 凭证类型方式
8 插件安装
【注意】安装插件这边非常重要.整个部署会依赖这些插件才能整合devops部署
8.1 SSH 插件安装
- Publish Over SSh 用于SSH发布
- SSH 用于SSH连接服务器
8.2 Maven Release Plug-in插件安装
8.3 Git Parameter Plug-In 动态参数设置
-
Git Parameter Plug-In 用于Git的动态参数获取
-
根据$git_tag动态获取git的分支或者标签
根据构建的git_tag参数的选择
9 、总结与其他说明
9.1 总结与建议
1 、以上问题根据搭建 Docker+Jenkins 实际情况进行总结整理,除了技术问题查很多网上资料通过进行学习之后梳理与分享。
2、 在学习过程中也遇到很多困难和疑点,如有问题或误点,望各位老司机多多指出或者提出建议。本人会采纳各种好建议和正确方式不断完善现况,人在成长过程中的需要优质的养料。
3、 希望此文章能帮助各位老铁们更好去了解如何在 Docker 里面安装 Jenkins,也希望你看了此文档或者通过找资料进行手动实操一遍学习效果会更好。