服务器:阿里云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 ID
为docker images
中的IMAGE ID
查看正在运行的容器docker ps
停止容器,f86906b1bc42为docker ps显示的CONTAINER IDdocker stop f86906b1bc42
docker stop myjenkins
启动容器,f86906b1bc42为docker ps显示的CONTAINER IDdocker stop f86906b1bc42
删除容器docker container rm f86906b1bc42
删除无效的none镜像docker rmi $(docker images -f "dangling=true" -q)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。