跳至主要內容

jenkins

chanchaw大约 6 分钟devOps

概述

安装 jenkins 后要安装 SSH 插件,之后 jenkins 可以使用宿主云服务器的命令行工具 安装 jdkmaven 可以编译打包 java 项目,再配合命令行工具调用 sh 脚本文件可以实现自动部署项目 要自动编译部署 node.js 的项目,要先配置好 git 密钥

插件安装与配置

SSH

安装 SSH 后要添加使用 SSH 时的访问凭据,注意这里是 jenkins 使用宿主机 CentOS7SSH,所以是添加宿主 CentOS7 的系统账号和密码

jenkins添加宿主CentOS管理员账号 然后配置 SSH 工具,注意下面填写 jenkins 所在的宿主云服务器的IP地址以及上面已经添加好的访问凭据(宿主 CentOS7 登录系统的账号) jenkins中配置SSH

node.js

插件中搜索安装 node.js,之后安装匹配版本的 node.js (项目使用的版本号)

war包安装

2024年5月28日 13:36:55 在试验 jenkins rpmjenkins docker 都失败后采用本方法,下载了 war 直接部署在染厂云云服务器上:/usr/local/jenkins_war
运行命令:java -jar jenkins.war --httpPort=8081

docker 安装

概述

安装最新版本

使用 docker 安装时如果不指定版本号则会自动安装比较老的版本,所以要显式的给出版本号

sudo docker login --username=支付宝邮箱账号 crpi-imkwu1c6wa3ojqar.cn-shanghai.personal.cr.aliyuncs.com

sudo docker pull crpi-imkwu1c6wa3ojqar.cn-shanghai.personal.cr.aliyuncs.com/ccdockerhub/jenkins:2.426.2-lts

# 执行下面命令创建容器,注意一定要有参数 -u root,否则启动容器会失败,是因为容器内的账号 jekins 用户对于宿主机的文件没有操作权限
sudo docker run -u root --name=jenkins -d -p 10809:8080 -p 10005:50000 -v /home/chanchaw/jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock crpi-imkwu1c6wa3ojqar.cn-shanghai.personal.cr.aliyuncs.com/ccdockerhub/jenkins:2.426.2-lts

访问地址 jenkins所在服务器IP地址或者域名:8081 ,在宿主机直接安装和通过 docker 安装后查看密码的方法不同

docker

上面是直接在 linux 系统上安装后的查看路径,如果是通过上面 docker 的方法,则要根据创建容器的命令中指向的宿主机目录更改查看密码: cat /home/chanchaw/jenkins-data/secrets/initialAdminPasswor,2025年9月14日 在 xdf250ubuntu22 虚拟机上安装后查看得到的密码是 250cef4373c24f7ba4a0ffe55194bd82,访问地址是 http://192.168.0.179:10809/

注意

由于墙的原因,安装后第一件事情是修改下载插件的源,按照路径修改:插件管理 > Advanced settings > 升级站点url,更换为 https://xget.xi-xu.me/jenkins/update-center.json

xget 提供的连接,2025年9月14日 测试可用

安装 jdk1.8

jenkins安装jdk1.8
jenkins安装jdk1.8

安装 maven

jenkins安装maven
jenkins安装maven

配置 git 密钥

新安装的开发用 windows 系统中要先为 git 配置用户

# 配置用户名
git config --global user.name "username"    //( "username"是自己的账户名,)
# 配置邮箱
git config --global user.email "username@email.com"     //("username@email.com"注册账号时用的邮箱)

然后使用下面命令创建密钥,中间有要求填写密码,可以留空,那么就是连续三次回车后要求填写生成文件的保存路径,生成文件:gitm、gitm.pub

ssh-keygen -t rsa

按照下面步骤在 gitee.com 中使用密钥 设置giteeSSH密钥

rpm包安装

安装包 rpm 文件在阿里云盘中:安装程序与软件 - > 开发与实施 下的安装包文件:jenkins-2.249.3-1.1.noarch.rpm。拷贝到 centos路径 /usr/local 下。
执行下面命令

rpm -ivh jenkins-2.249.3-1.1.noarch.rpm

软件会被安装在路径 /var/lib/jenkins

修改配置文件

执行下面命令

vi /etc/sysconfig/jenkins

修改参数

# 安装后面的参数是空字符串,要填写自己服务器上 java 的路径
# 注意这里是 java 文件的绝对路径,不可填写目录名
JENKINS_JAVA_CMD="/usr/local/jdk1.8/bin/java"
# 下面的参数默认是 jenkins 用户名,要修改为 centos 中现有的账号
JENKINS_USER="root"
# 默认端口号是8080,要修改为不冲突的
JENKINS_PORT="8787"

启动

systemctl daemon-reload
systemctl start jenkins

如果启动不成功,继续下面的导入 GPG 密钥 再试

导入GPG密钥

# 执行下面命令
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
# 或者
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# 实际安装时第一个地址么有执行成功,第二个成功了

登录密码

在浏览器访问地址 没有SSL证书的域名:端口号 ,访问成功后系统要做初始化,然后会索要管理员密码,使用下面代码查看并使用

cat /var/lib/jenkins/secrets/initialAdminPassword
# 会显示默认管理员密码
# 42de11ee66fe43939c8c4cbc72cf4870

插件

必装的插件
  • 多个 docker 插件 为 jenkins 可以调用宿主机 docker 环境,需要为 jenkins 安装多个 docker 相关的插件 docker, docker commons, docker pipeline, docker api
  • blue ocean 安装 blue ocean 提供漂亮的用户界面

自动部署

vuepress

在制作自动部署任务之前先确保已经安装 git 插件,否则在创建任务时设置 source code management 中没有 git 选项,自然无法读取到仓库变动。还有要保证安装了插件 nodejs

新建任务,选择创建一个自由风格的任务,

错误与提示

忘记密码

使用 rpm 包安装的话,软件的安装目录是 /var/lib/jenkins 下打开文件 config.xml,删除下面的代码

<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>

然后重启系统 systemctl restart jenkins,然后客户端访问没有SSL证书的域名+端口号8081