1

服务器:阿里云CentOS Linux 7.6.1810
文章编写时间:2020-03-12

1.什么是Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能

2.使用前提

安装docker

3.在docker中安装jenkins

首先docker search jenkins查找jenkins镜像

NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
jenkins                                Official Jenkins Docker image                   4688                [OK]
jenkins/jenkins                        The leading open source automation server       1944
jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           500
jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   378
jenkinsci/jnlp-slave                   A Jenkins slave using JNLP to establish conn…   121                                     [OK]
jenkins/jnlp-slave                     a Jenkins agent (FKA "slave") using JNLP to …   119                                     [OK]
jenkinsci/slave                        Base Jenkins slave docker image                 63                                      [OK]
jenkinsci/ssh-slave                    A Jenkins SSH Slave docker image                40                                      [OK]

第一次安装的时候我选择了jenkins,但是在安装插件的时候jenkins镜像的一直不成功,删除重装还是不行,后来选择下载jenkins/jenkins

docker pull jenkins/jenkins

查看镜像

$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jenkins/jenkins     latest              cf9ba86fd2ce        44 hours ago        619MB

接着

$ mkdir -p /var/jenkins_home
$ chown -R 1000 /var/jenkins_home

这里我们使用以下命令启动Jenkins镜像

docker run -d --name myjenkins -p 8081:8080 -p 50000:50000 --privileged=true -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins

-p 8081:8080 将镜像的8080端口映射到服务器的8081端口,这里前一个端口是8081,我们在访问Jenkins的时候的端口号也是8081,此处可自行修改
执行命令后,密码可以在打印的日志中看到
--privileged=true在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权。
-d在后台运行容器(即“分离”模式)并输出容器ID。如果您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志
由于我们将容器的目录/var/jenkins_home映射到服务器的/var/jenkins_home上了
所以可以直接在服务器上输入查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

安装镜像速度慢

$ cd /var/jenkins_home/updates #进入更新配置位置

$ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

$ docker restart {CONTAINER ID}

常用命令

docker ps -aq

删除镜像
docker rmi IMAGE ID
IMAGE IDdocker images中的IMAGE ID

查看正在运行的容器
docker ps

停止容器,f86906b1bc42为docker ps显示的CONTAINER ID
docker stop f86906b1bc42
docker stop myjenkins

启动容器,f86906b1bc42为docker ps显示的CONTAINER ID
docker stop f86906b1bc42

删除容器
docker container rm f86906b1bc42

删除无效的none镜像
docker rmi $(docker images -f "dangling=true" -q)


crazyPupil
37 声望4 粉丝