jenkins
概述
安装 jenkins 后要安装 SSH 插件,之后 jenkins 可以使用宿主云服务器的命令行工具 安装 jdk 和 maven 可以编译打包 java 项目,再配合命令行工具调用 sh 脚本文件可以实现自动部署项目 要自动编译部署 node.js 的项目,要先配置好 git 密钥
插件安装与配置
SSH
安装 SSH 后要添加使用 SSH 时的访问凭据,注意这里是 jenkins 使用宿主机 CentOS7 的 SSH,所以是添加宿主 CentOS7 的系统账号和密码
然后配置 SSH 工具,注意下面填写 jenkins 所在的宿主云服务器的IP地址以及上面已经添加好的访问凭据(宿主 CentOS7 登录系统的账号) 
node.js
插件中搜索安装 node.js,之后安装匹配版本的 node.js (项目使用的版本号)
war包安装
2024年5月28日 13:36:55 在试验 jenkins rpm,jenkins 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
由于墙的问题上面安装会由于网络不通而失败,要采用下面的方法。本方法是采用 中文官网 推荐的 blueocean 版本
# 下面是 blueocean 版本官网提供的安装,由于墙的问题网络不通,要使用下面的阿里私有镜像安装
docker pull jenkinsci/blueocean
# 通过阿里私有镜像云拉取镜像
sudo docker login --username=支付宝邮箱账号 crpi-imkwu1c6wa3ojqar.cn-shanghai.personal.cr.aliyuncs.com
sudo docker pull crpi-imkwu1c6wa3ojqar.cn-shanghai.personal.cr.aliyuncs.com/ccdockerhub/blueocean
# 执行下面命令创建容器,注意一定要有参数 -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/blueocean:latest
下面是自由网络可用的方法,国内无法使用
# 拉取镜像文件(lts表示长期支持版本)
docker pull jenkins/jenkins:lts
# 创建映射目录
mkdir /usr/local/jenkins_home
# 赋予上面创建的目录权限
chown -R 1000 jenkins_home
# 启动容器,映射容器内部端口号8080到宿主机的8081端口,同时映射容器内部目录到宿主机目录 /usr/local/jenkins_home
docker run -di --name=jenkins -p 8081:8080 -v /usr/local/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
访问地址 jenkins所在服务器IP地址或者域名:8081 ,在宿主机直接安装和通过 docker 安装后查看密码的方法不同
上面是直接在 linux 系统上安装后的查看路径,如果是通过上面 docker 的方法,则要根据创建容器的命令中指向的宿主机目录更改查看密码: cat /home/chanchaw/jenkins-data/secrets/initialAdminPasswor,2025年9月14日 在 xdf250 的 ubuntu22 虚拟机上安装后查看得到的密码是 250cef4373c24f7ba4a0ffe55194bd82,访问地址是 http://192.168.0.179:10809/
访问项目后会提示查看默认密码 cat /usr/local/jenkins_home/secrets/initialAdminPassword
查询到的默认密码是 a3437cf5dbb245a592175c3a1057ba43
注意
由于墙的原因,安装后第一件事情是修改下载插件的源,按照路径修改:插件管理 > Advanced settings > 升级站点url,更换为 https://xget.xi-xu.me/jenkins/update-center.json
xget 提供的连接,2025年9月14日 测试可用
安装 jdk1.8

安装 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 中使用密钥 
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
