Docker部署Jenkins


1.准备jdk和maven环境

[root@ci-node01 ~]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring apache-maven-3.6.3-bin.tar.gz...
  100%    9283 KB    9283 KB/sec    00:00:01       0 Errors  
Transferring jdk-8u171-linux-x64.tar.gz...
  100%  186416 KB    26630 KB/sec    00:00:07       0 Errors  

[root@ci-node01 ~]# ls
anaconda-ks.cfg  apache-maven-3.6.3-bin.tar.gz  jdk-8u171-linux-x64.tar.gz
[root@ci-node01 ~]# tar xf jdk-8u171-linux-x64.tar.gz 
[root@ci-node01 ~]# mv jdk1.8.0_171/ /usr/local/jdk
[root@ci-node01 ~]# 
[root@ci-node01 ~]# tar xf apache-maven-3.6.3-bin.tar.gz 
[root@ci-node01 ~]# mv apache-maven-3.6.3 /usr/local/maven

2.部署Jenkins

[root@ci-node01 ~]# docker run -d \
--name jenkins \
--restart always \
-p 80:8080 \ -p 50000:50000 \ -u root \ -v /opt/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ -v /usr/local/maven:/usr/local/maven \ -v /usr/local/jdk:/usr/local/jdk \ -v /etc/localtime:/etc/localtime \
jenkins/jenkins:lts Unable to find image 'jenkins/jenkins:lts' locally lts: Pulling from jenkins/jenkins 3192219afd04: Pull complete 17c160265e75: Pull complete cc4fe40d0e61: Pull complete 9d647f502a07: Pull complete d108b8c498aa: Pull complete 1bfe918b8aa5: Pull complete dafa1a7c0751: Pull complete 204b3ae87dcc: Pull complete e7df9c239d2f: Pull complete 6bc3c4bab84d: Pull complete 0fddb90aaa59: Pull complete f2fe379c9cae: Pull complete 41f205609aa3: Pull complete 44894459a77c: Pull complete 33abd1ee296e: Pull complete 0246d2531788: Pull complete 0265cbd0a929: Pull complete ea9bcd7318c4: Pull complete 688e1959a331: Pull complete Digest: sha256:af0110d8f70d2fbaf9429c321dc4e3bc5aae12f708c655f4018e7ed4be0974f5 Status: Downloaded newer image for jenkins/jenkins:lts 535be8e642e704c8e7035699562092430d317ef9775cd7e3174ce18276c0c4e1
[root@ci-node01 ~]# docker ps -l
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS              PORTS                                            NAMES
535be8e642e7        jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   About a minute ago   Up About a minute   0.0.0.0:50000->50000/tcp, 0.0.0.0:80->8080/tcp   jenkins
[root@ci-node01 ~]# docker logs 535be8e642e7 -f  #初次获取密码

使用浏览器登录Jenkins:http://ip:port

3.修改Jenkins插件URL

在Jenkins找到Jenkins--->Manege Jenkins--->Manage Plugins--->Advanced--->Update Site
把URL改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
sed -i 's#https://updates.jenkins.io/update-center.json#https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/unter.json#g' hudson.model.UpdateCenter.xml
[root@ci-node01 ~]# cd /opt/jenkins_home/updates/
[root@ci-node01 /opt/jenkins_home/updates]# ll -h
total 1.9M
-rw-r--r-- 1 root root 1.8M Apr  9 14:47 default.json
-rw-r--r-- 1 root root 5.3K Apr  9 14:47 hudson.tasks.Maven.MavenInstaller
[root@ci-node01 /opt/jenkins_home/updates]# sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
[root@ci-node01 /opt/jenkins_home/updates]# sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json

修改URL后重启容器,会发现安装插件非常快。