Jenkins 使用
一. 系统要求
最低要求
RAM > 256M,DISK > 1G最小化团队
RAM > 1G,DISK > 50G+
二. 安装
1. 安装Jenkins
快捷安装
1
docker run --name jenkins -itd -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
使用
docker-compose安装1
2
3
4
5
6
7
8
9
10
11
12
13
14
15version: '3'
services:
jenkins:
container_name: 'jenkins'
image: jenkins/jenkins:lts
restart: always
user: jenkins:994 # 这里的 jenkins 要对应当前系统登录用户
ports:
- "8080:8080"
- "50000:50000"
- "10051:10051"
volumes:
- /home/jenkins/data:/var/jenkins_home
- /usr/bin/docker:/usr/bin/docker
- /var/run/docker.sock:/var/run/docker.sock
安装完成后,需要获取jenkins管理员的初始密码
使用
docker logs -f jenkins打印日志找到日志中输出的
hash密码
2. 进入Jenkins界面
- 在文本框中,输入刚刚获取到的 管理员密码,解锁
Jenkins - 安装
Jenkins插件- 插件安装方式有两种:
- 离线
- 在线
- 在线安装插件时,有部分插件需要用到
谷歌的服务,这时候,需要配置代理。或者使用离线安装 - 常用插件
- GitHub
- Git client
- GitLab
- Gitlab Authentication
- PAM Authentication
- Matrix Authorization Strategy
- Role-based Authorization Strategy
- LDAP
- SSH Slaves
- WMI Windows Agents
- Build Timeout
- Dashboard View
- Folders
- ThinBackup
- AnsiColor
- Build With Parameters
- 插件安装方式有两种:
- 创建管理员
- 配置全局的
Jenkins的回调地址(也是Jenkins的登录地址)
三. 备份Jenkins容器内部数据
使用
docker commit进行备份1
2
3
4
5
6
7
8
9
10
11
12
13
14# ① 查找到当前运行的容器
docker ps | grep jenkins
# ② commit 当前容器
docker commit <当前容器的ID> <镜像名称>
# ③ 查看镜像
docker images | grep <镜像名称>
# ④ 重启镜像
docker run -itd -v /tmp:/tmp <镜像名称>
# ⑤ 查看容器名称
docker ps | grep <镜像名称>
# ⑥ 使用交互式终端,连接到容器,使用容器内部的cp命令,把容器内部的/var/jenkins_home目录,拷贝到容器的/tmp目录下
docker exec -it <容器名称> cp -r /var/jenkins_home /tmp
# ⑦ 停止并删除容器
docker stop <容器名称> && docker rm <容器名称>使用官方文档方式,进行备份
1
docker run --rm --volumes-from <需要备份的容器名称> -v /tmp/backup:/backup ubuntu tar cvf /backup/backup.tar /var/jenkins_home
使用
docker cp命令,快速备份1
2
3
4# ① 查看容器ID
docker ps | grep <容器名称>
# ② 复制容器内部的 /var/jenkins_home 目录 到当前的 /tmp/目录下
docker cp <容器ID>:/var/jenkins_home /tmp/
四. Jenkins 使用 Gitlab 登录
进入
系统控制 > 全局安全配置在
授权策略中,选中Gitlab Commiter Authorization Strategy配置
Gitlab Authorization Settings
注意:
1.
Admin User Names必须和 Gitlab 超级管理员的UserName对应,否则会丢失超级管理员权限在安全域中,选中
Gitlab Authentication Plugin
注意:
1.
Client ID和Client Secret要在Gitlab中获取 2.
GitLab Web URI和GitLab API URI为GitLab链接进入
Gitlab,选择管理中心,进入应用,并新增应用
注意:
1. 重定向URI 为:`<jenkins地址>/securityRealm/finishLogin` 2. 必须要选中api这时,我们会获取到
Client ID和Client Secret将得到的
Client ID和Client Secret填充到Jenkins的安全域配置中
注意:
1.此时,如果还是无法登陆,需要在Gitlab的 管理中心 > 网络 > 外发请求 中,把<允许Webhook和服务对本地网络的请求>勾选上。