jenkins与主机共享命令
# jenkins与主机通过挂载的方式共享
如果是没有启动的容器可以通过docker run 时添加挂载
docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/apache-maven-3.6.3:/usr/local/maven -v /usr/bin/git:/usr/local/git -v /usr/local/java/jdk1.8:/usr/local/java/jdk1.8 -v /home/jenkins:/var/jenkins_home jenkinsci/blueocean ----------------------------------- docker配合jenkins docker安装jenkins配置maven1
1
2
3
4
# 共享docker命令
# 找到容器id
# docker container inspect myjenkins | grep "Id"
"Id": "cd1580470f57faf9426c6ce360f7ef22053ff92bf22b1d624d4ab86bd3bd22fd",
# 转换配置文件
# cd /var/lib/docker/containers/cd1580470f57faf9426c6ce360f7ef22053ff92bf22b1d624d4ab86bd3bd22fd
# jq . config.v2.json > tmp.json
# 停止docker 否则转换无效
# systemctl stop docker.service
#根据格式添加MountPoint字段
# vi tmp.json
# 这是一个标准的json片段
```
"/usr/bin/docker": {
"Source": "/usr/bin/docker",
"Destination": "/usr/bin/docker",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/usr/bin/docker",
"Target": "/usr/bin/docker"
},
"SkipMountpointCreation": false
},
"/var/run/docker.sock": {
"Source": "/var/run/docker.sock",
"Destination": "/var/run/docker.sock",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/var/run/docker.sock",
"Target": "/var/run/docker.sock"
},
"SkipMountpointCreation": false
},
```
jq -c . tmp.json > config.v2.json
# 重启docker生效
systemctl start docker.service
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
53
54
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
53
54
# 共享maven命令
# 主机安装maven
# 解压文件,统一安装路径,将源码安装的放到一个目录下面
mkdir -p /opt/maven/
tar -xvf apache-maven-3.9.4-bin.tar.gz
mv apache-maven-3.9.4 /opt/maven/
# 添加全局变量
vi /etc/profile
# 结尾添加下面的命令
MAVEN_HOME=/opt/maven/apache-maven-3.9.4
export PATH=${MAVEN_HOME}/bin:${PATH}
# 重载配置
source /etc/profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 挂载命令
# 找到容器id
# docker container inspect myjenkins | grep "Id"
"Id": "cd1580470f57faf9426c6ce360f7ef22053ff92bf22b1d624d4ab86bd3bd22fd",
# 转换配置文件
# cd /var/lib/docker/containers/cd1580470f57faf9426c6ce360f7ef22053ff92bf22b1d624d4ab86bd3bd22fd
# jq . config.v2.json > tmp.json
# 停止docker 否则转换无效
# systemctl stop docker.service
#根据格式添加MountPoint字段
# vi tmp.json
# 这是一个标准的json片段
```
"/usr/local/maven": {
"Source": "/opt/maven/apache-maven-3.9.4",
"Destination": "/usr/local/maven",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/opt/maven/apache-maven-3.9.4",
"Target": "/usr/local/maven"
},
"SkipMountpointCreation": false
}
```
jq -c . tmp.json > config.v2.json
# 重启docker生效
systemctl start docker.service
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
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
# 主机共享java
# 下载对应版本的jdk
# 安装
# 将下载好的压缩包上传
# 解压
tar -xvf jdk-21_linux-aarch64_bin.tar.gz
# 放到对应的目录
mkdir -p /opt/java
mv jdk8u382-b05 jdk
mv jdk /opt/java/
# 配置环境变量
export JAVA_HOME=/opt/java/jdk/
export CLASSPATH=.:%JAVA_HOME%\lib\dt.jar:%JAVA_HOME%\lib\tools.jar:
export PATH=$PATH:$JAVA_HOME/bin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 通过挂载共享,方法类似上面的
注意
如果是jenkisn容器,默认是安装了java,如果向使用某个版本的jdk,首先要卸载docker环境下的jdk
# 找到容器id
# docker container inspect myjenkins | grep "Id"
"Id": "cd1580470f57faf9426c6ce360f7ef22053ff92bf22b1d624d4ab86bd3bd22fd",
# 转换配置文件
# cd /var/lib/docker/containers/cd1580470f57faf9426c6ce360f7ef22053ff92bf22b1d624d4ab86bd3bd22fd
# jq . config.v2.json > tmp.json
# 停止docker 否则转换无效
# systemctl stop docker.service
#根据格式添加MountPoint字段
# vi tmp.json
# 这是一个标准的json片段
```
"/usr/local/jdk": {
"Source": "/opt/java/jdk",
"Destination": "/usr/local/jdk",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/opt/java/jdk",
"Target": "/usr/local/jdk"
},
"SkipMountpointCreation": false
},
```
jq -c . tmp.json > config.v2.json
# 重启docker生效
systemctl start docker.service
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
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
# 解决jenkins通过docker上传hurbor报错
- 宿主机上修改docker.service
# 9. 解决docker登录harbor连接问题
vim /usr/lib/systemd/system/docker.service
```
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.0.11:85
# 添加--insecure-registry参数,值为harborIp:Port
```
# 10.重启docker
systemctl daemon-reload
systemctl restart docker
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
- 挂载到docker-jenkins方法同上
编辑 (opens new window)
上次更新: 2024/12/31 14:23:38