Jenkins CI\CD自动化部署
一.docker部署jenkins
- 拉取镜像
docker pull jenkins/jenkins- 映射挂载工作目录
[root@instance-nsstydow ~]# mkdir -p /home/jenkins_home
[root@instance-nsstydow ~]# chmod 777 /home/jenkins_home- 运行容器
[root@instance-nsstydow ~]# docker run -d -uroot -p 9095:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins- 获取jenkins初始登陆密码
docker logs jenkins
输出如下:
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
f07da0cac18049159b8b9268f0dd6b66
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword- 在浏览器中输入:http://serverIp:port/访问jenkins,serverIp为docker宿主机的ip,port即为宿主机映射的端口。

二.jenkins插件安装

2.1配置jenkins加速源
- 因为网络原因,需要将插件源设置为国内的,这样才可以安装插件。进入宿主机目录 /home/jenkins\_home/,编辑文件 hudson.model.UpdateCenter.xml
cd /home/jenkins_home/
[root@jenkins jenkins_home]# cat hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
将 url 内容修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学官方镜像)
sed -i 's|https://updates.jenkins.io/update-center.json|https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json|g' hudson.model.UpdateCenter.xml
1.
2.重启容器
docker restart jenkins2.2安装社区推荐插件

配置jenkins管理用户

安装完成

三.jenkins全局配置
登录 jenkins
进入 Manage Jenkins > Tools 路径下,配置 jdk、git、maven 在服务器上的安装路径

我们gitlab、gitee、github 上拉取代码是需要凭证的,比如用户名密码或SSH秘钥验证。这边采用的秘钥验证方式,所以需要配置秘钥的凭证才能去gitlab、gitee、github上拉取对应代码
生成ssh 密钥对
.ssh 密钥对 目录一般位于 /root/.ssh 路径下,使用 ssh-keygen -t rsa -C "17600160229@163.com 生成密钥对
ssh-keygen -t rsa -C "17600160229@163.com"
# -f 指定生成文件名称
ssh-keygen -t rsa -f xxx_rsa -C "xinyu"
ssh-keygen -t rsa -f git_rsa -C "17600160229@163.com"
[root@jenkins .ssh]# ll
total 8
-rw------- 1 root root 0 Feb 21 09:51 authorized_keys
-rw------- 1 root root 2610 Feb 26 14:06 id_rsa
-rw-r--r-- 1 root root 575 Feb 26 14:06 id_rsa.pub
查看 ssh 公钥
[root@jenkins .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtjkZ6n7RfVpiwmMQMIaPckIZNOsKSRWQ2Rywck42t8eVuaviPHz48B8i9GZ3R7nCWT1yanJzF4K7A0ZrOx/cVpGWmZvndnrwboohJGCavito8hYP9nPmc0ijZ8VB/GaZth3HbZReS8hkjnIlHhw7m6gACCCI9aFWxXVCR0hyd9YTsCW5GJuAOPYQw+hlldN27XH/xeGwukinHBOydj0DwoU/1PiHMxV7XbHgun32hpTAu33Hr8t7EFlcO6GQ1fZ8xPXsFOKukp/tr3h36LKqSg9je2LEGDdepm51Rdj8H30XIEjTfJDG/c7gp+zb7FX3jNporb7I66JtJjjzcGgpf2ATRwtW76tr3Ns/gNJdxjk5mPnVdIB0jpweVeGW4PHcQIMclENvhUqAnIyArzATxwBAGIveCHMqc7IOzdoWnCMt3vneugiMNyS/a54UmqrwjsUX4GtjjgelSVct7f67clzDfmVUy4iTplktV/xAn3ros6VIBoexazoeEbCCWzqs= 17600160229@163.com- 进入 Dashboard > 凭据管理 > 添加凭据

- 选择类型 SSH Username with private key > 范围选择 全局 (Jenkins,nodes,items,all child items,etc) > Username 填写创建 SSH密钥的 Linux 用户 (这里填 root),Private Key 填写 SSH 私钥 ————————————————

系统配置(远程服务器)
配置远程服务器,项目打包之后,可以推送到指定的远程服务器上
- 进入 系统管理 > 系统配置 选择新增 SSH Servers
