jenkins安装
系统
centos7
docker1.13.1
必须执行命令
setenforce 0 && sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
docker安装
docker官方jenkins https://hub.docker.com/_/jenkins
search镜像
docker search jenkins
[root@docker110 ~]# docker search jenkins
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/jenkins Official Jenkins Docker image 4246 [OK]
docker.io docker.io/jenkins/jenkins The leading open source automation server 1448
docker.io docker.io/jenkinsci/blueocean https://jenkins.io/projects/blueocean 371
pull镜像
docker pull docker.io/jenkins/jenkins:lts 长期稳定版本
docker pull docker.io/jenkins:2.60.3 这个版本已经太久许多插件不支持
docker镜像地址参考官网 https://jenkins.io/download/
可以下载war包安装,自己选择
docker pull docker.io/jenkins 等效 docker pull docker.io/jenkins:latest
创建并运行容器
前提必须已经关闭selinux
[root@docker110 home]# getenforce
Permissive
运行容器
docker run -p 8082:8080 -p 50000:50000 -v /home/jenkins/home:/var/jenkins_home --name jenkins -d docker.io/jenkins/jenkins:lts
如有报错Permission denied,按官方建议添加 -u 参数,这里使用 -u 0 表示root
官方
This will store the jenkins data in /your/home on the host. Ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.
docker run -p 8082:8080 -p 50000:50000 -u 0 -v /home/jenkins/home:/var/jenkins_home --name jenkins -d docker.io/jenkins/jenkins:lts
https://hub.docker.com/_/jenkins?tab=description 官方参考
设置开机启动
增加–restart=always
docker run -p 8082:8080 -p 50000:50000 -v /home/jenkins/home:/var/jenkins_home --name jenkins -d --restart=always docker.io/jenkins/jenkins:lts
添加docker
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
docker run -p 8082:8080 -p 50000:50000 -u 0 -v /home/jenkins/home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --name jenkins -d docker.io/jenkins/jenkins:lts
192.168.14.226上部署
docker run -p 8082:8080 -p 50000:50000 -u 0 -v /home/jenkins/home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --name jenkins -d 192.168.14.226:5000/jenkins/jenkins:2.164.2
删除原来的镜像
docker ps |grep jenkins
jenkins设置
初始密码所在位置 /var/jenkins_home/secrets/initialAdminPassword
之后按步骤设置对应信息即可使用
使用时碰到的docker问题
使用vmware虚拟机安装docker之后安装jenkins。当挂起虚拟机后,再重新打开虚拟机,jenkins 8082端口无法访问(docker如果有部署其他的内容服务器端口也不可以访问,推测是虚拟机原因造成)。解决方式,重启docker服务即可(除了always的服务,其他手机启动接口访问)。
systemctl restart docker
运行
linux
# 指定jenkins目录,默认在~/.jenkins/ 下
export JENKINS_HOME=/home/ap/username/jenkins_home
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
java -jar jenkins.war --httpProt=9080
window
```c
rem 指定jenkins目录,默认在~/.jenkins/ 下
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_211
set PATH=%JAVA_HOME%\bin;%path%;
set JENKINS_HOME=/home/ap/username/jenkins_home
set JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
java -jar jenkins.war -DhttpProt=9080