三、jenkins安装

docker/k8s方式安装jenkins

docker方式部署

镜像:

1
2
3
4
# 官方
docker pull jenkins/jenkins:lts
# 自有阿里云docker仓库
docker pull registry.cn-hangzhou.aliyuncs.com/zznn/jenkins:lts

构建jenkins

如果jenkins无法启动则是持久化宿主机目录权限有问题 **chown -R 1000 /mydata/jenkins_home

1
2
mkdir -p /mydata/jenkins_home
docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home:/var/jenkins_home registry.cn-hangzhou.aliyuncs.com/zznn/jenkins:lts

docker-compose

1
2
3
4
5
6
7
8
9
10
11
version: '3.8'
services:
jenkins:
image: registry.cn-hangzhou.aliyuncs.com/zznn/jenkins:lts
container_name: jenkins
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- /mydata/jenkins_home:/var/jenkins_home

k8s方式部署

1
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: jenkins
namespace: jenkins
spec:
selector:
matchLabels:
app: jenkins # has to match .spec.template.metadata.labels
serviceName: "jenkins"
replicas: 1 # by default is 1 # 3副本
# minReadySeconds: 10 # by default is 0
template:
metadata:
labels:
app: jenkins # has to match .spec.selector.matchLabels
spec:
terminationGracePeriodSeconds: 10
containers:
- name: jenkins
image: registry.cn-hangzhou.aliyuncs.com/zznn/jenkins:lts
# env:
# - name: jenkins_ROOT_PASSWORD
# value: "root_password" # 设置根密码,建议使用 Secrets 存储
volumeMounts:
- mountPath: /var/jenkins_home
name: jenkins-storage
ports:
- containerPort: 8080
name: jenkins
volumes:
- name: jenkins-storage
hostPath:
path: /mydata/jenkins_home # 宿主机目录
type: DirectoryOrCreate # 目录存在就使用,不存在就先创建后使用

---
apiVersion: v1
kind: Service
metadata:
name: service-jenkins
namespace: jenkins
spec:
selector:
app: jenkins
ports:
- protocol: TCP
port: 8080
targetPort: 8080
sessionAffinity: ClientIP
type: NodePort # 将服务暴露为 NodePort 类型

通过日志查看密码:70b19f8448b24a68bb8aa30dec2e3db4

初始化完成后本教程创建admin账户默认密码等都写admin

映射目录

安装完成(最后初始化过程需要点击使用admin账户继续