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即为宿主机映射的端口。

image.png

二.jenkins插件安装

image.png

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 jenkins

2.2安装社区推荐插件

image.png

配置jenkins管理用户

image.png

安装完成

image.png

三.jenkins全局配置

登录 jenkins

进入 Manage Jenkins > Tools 路径下,配置 jdk、git、maven 在服务器上的安装路径

image.png

我们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 > 凭据管理 > 添加凭据

image.png

  • 选择类型 SSH Username with private key > 范围选择 全局 (Jenkins,nodes,items,all child items,etc) > Username 填写创建 SSH密钥的 Linux 用户 (这里填 root),Private Key 填写 SSH 私钥 ————————————————image.png
  • 系统配置(远程服务器)

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

    image.png

正文到此结束
最后修改:2025 年 04 月 05 日
如果觉得我的文章对你有用,请随意赞赏