Jenkins使用笔记
# 安装
# docker安装
编写docker-compose.yml
version: "3"
services:
jenkins:
image: jenkins/jenkins
restart: always
tty: true
user: root
container_name: jenkins
environment:
- TZ=Asia/Shanghai
# 设置前缀,方便做反向代理
- JENKINS_OPTS="--prefix=/jenkins"
ports:
- 8200:8080
volumes:
# jenkins的配置数据
- ./data/jenkins_home:/var/jenkins_home
# jenkins容器内使用docker
- /var/run/docker.sock:/var/run/docker.sock
# 使用宿主机的docker-compose,这里要求docker-compose是通过二进制文件安装的,如果通过pip安装,还会依赖python
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
# 与宿主机共享空间
- /app:/app
deploy:
resources:
# 限制使用资源,防止jenkins跑挂掉
limits:
cpus: '0.80'
memory: 1024M
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
运行 docker-compose up -d
启动后会在/var/jenkins_home
目录下生成hudson.model.UpdateCenter.xml
文件, 需要修改它, 否则浏览器首次进入时会卡在“Jenkins 正在启动,请稍后…”
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://updates.jenkins-ci.org/update-center.json</url>
</site>
</sites>
2
3
4
5
6
7
将url修改成http://mirror.xmission.com/jenkins/updates/update-center.json
或者http://mirror.xmission.com/jenkins/updates/current/update-center.json
然后重启 docker-compose restart
# 服务器安装
# java版本
最新版的jenkins
需要Java17
以上的版本,
apt-get install openjdk-17-jdk
# 添加jenkins存储库
#Jenkins提供了官方的存储库,可以将其添加到系统中以方便安装和更新。执行以下命令导入Jenkins存储库的GPG密钥:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
#将Jenkins存储库添加到APT源列表中:
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 添加存储库后,执行以下命令以使APT获取最新的Jenkins软件包信息:
sudo apt update
2
3
4
5
6
7
# 安装jenkins
sudo apt install jenkins
#启动 Jenkins 服务:
sudo systemctl start jenkins
#停止 Jenkins 服务:
sudo systemctl stop jenkins
#重启 Jenkins 服务:
sudo systemctl restart jenkins
2
3
4
5
6
7
# 配置修改
/etc/default/jenkins
/usr/lib/systemd/system/jenkins.service
这两个都是jenkins
的配置文件
find /usr -name jenkins.war
找到文件/usr/share/java/jenkins.war
,后续升级,下载最新的jenkins.war
,更新重启即可。
# 配置国内镜像加速
Manage Jenkins
-> Manage Plugins
-> Advanced
-> Update Site
-> https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
或者直接修改文件/var/lib/jenkins/hudson.model.UpdateCenter.xml
,将url
修改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
。
该配置是设置插件站点地址,通过指定链接下载插件配置文件到目录/var/lib/jenkins/updates
。
还需要将插件配置文件中的地址改为国内地址:
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json
2
# nginx反向代理到80端口
server {
listen 80;
listen [::]:80;
server_name _;
location /jenkins/ {
proxy_pass http://localhost:9000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
2
3
4
5
6
7
8
9
10
# 编码设置
# 控制台乱码
系统管理-系统设置-全局属性,添加编码环境变量
变量名:JAVA_TOOL_OPTIONS
变量值:-Dfile.encoding=UTF-8
2
# Git parameters 插件分支乱码
x:\Jenkins\jenkins.xml
新增参数-Dfile.encoding=utf-8
,然后重启Jenkins服务。
<arguments>-Xrs -Xmx256m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “%BASE%\jenkins.war” –httpPort=8080</arguments>