Jenkins | 笔记

引言 Docker 建议使用的 Docker 映像是 jenkinsci/blueocean image来自 the Docker Hub repository。 该镜像包含当前的长期支持 (LTS) 的 Jenkins 版本 (可以投入使用) ,捆绑了所有 Blue Ocean 插件和功能。这意味着你不需要单独安装 Blue Ocean 插件。
jenkinsci/blueocean 每次发布Blue Ocean新版本时,都会发布新镜像。您可以在标签 page页上看到以前发布的镜像版本列表 。
您还可以使用其他 Jenkins Docker 镜像(在 Docker Hub上可通过 jenkins/jenkins 获取)。 但是,这些不会随Blue Ocean的发布而提供,需要通过 Jenkins 中的 Manage Jenkins > Manage Plugins 页面进行安装。 在 Blue Ocean 入门中了解更多信息。
1
2
3
4
5
6
7
8
9
docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
--privileged : 使用该参数,container内的root拥有真正的root权限, 否则,container(容器)内的root只是外部的一个普通用户权限, privileged启动的容器可以看到很多host上的设备,并且可以执行mount, 甚至允许你在docker容器内启动docker容器。 Docker Compose docker-compose.yml
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: '3'
services:
jenkins:
image: jenkinsci/blueocean
container_name: jenkins
environment:
- TZ=Asia/Shanghai
volumes:
- ./jenkins-data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "8083:8080"
- "50000:50000"
privileged: true
user: root
restart: always
注意: 我这里是 8083:8080,因为有时候 宿主机8080 已被占用 注意: ./jenkins-data 有 ./ 表示当前目录,一定要有 ./,不然会认为 jenkins-data 是一个挂载点

启动

1
docker-compose up -d

查看密码并登录

1
docker logs -f jenkins
补充: 或者查看密码
1
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Q&A Q: 使用宝塔面板 配置网站的 nginx Nginx 代理 8083后,页面可以访问,但是页面引用 (/static) 的前端css等文件 404,必须带上端口号 8083才能正常访问页面, A: 注释掉 补充

Nginx

nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {

listen 80;
listen 443 ssl http2;
server_name jenkins.moeci.com;
root /www/wwwroot/jenkins.moeci.com;

# proxy to 8083
location / {
proxy_pass http://localhost:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
# cache
add_header Cache-Control no-cache;
expires 12h;
}

}

安装推荐的插件: 无法连接到Jenkins

参考:
- 无法连接到Jenkins - 灰信网(软件开发博客聚合)
- Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤) - 付宗乐 - 博客园
- docker安装jenkins---完美解决jenkins插件安装失败问题_沉淀技术这十年的博客-CSDN博客_jenkins插件安装失败
- Docker 安装 Jenkins 并解决初始安装插件失败问题_docker_脚本之家
- jenkins 下載外掛失敗 有效的處理辦法(親測)_osc_7z601p6x - MdEditor 解决: 注意: 此方法经过测试 失败 修改 插件中心 url
https://updates.jenkins.io/update-center.json 修改为 http://updates.jenkins.io/update-center.json, 即 https 改 http 或者改为 清华大学官方镜像
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 重启 docker 的 jenkins 容器
1
2
docker-compose down
docker-compose up -d
参考 感谢帮助! Docker:docker安装部署jenkins - 怒吼的萝卜 - 博客园 使用docker部署Jenkins及初始配置 | 二丫讲梵 docker-compose 安装jenkins的正确姿势 实践笔记_JanelSirry's Blog-CSDN博客 安装Jenkins