之前已安装好安装好docker,我的版本是docker-ce-19.03.13
输入docker pull jenkins/jenkins:2.302-centos
下载指定版本镜像
输入docker images -a
查看所有镜像
先创建一个用于保存Jenkins配置的目录mkdir -p /root/jenkinsdata
设置目录权限chown -R 1000 /root/jenkinsdata
运行jenkins容器(实例)
docker run -d \
--name myjenkins \
-u root \
-p 8080:8080 \
-p 50000:50000 \
-v /root/jenkinsdata:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-e TZ=Asia/Shanghai \
-e LANG=C.utf-8 \
jenkins/jenkins:2.302-centos
其中50000端口是master和slave通信端口,jenkins就可以部署集群的。
其中/var/run/docker.sock和/usr/bin/docker这两行映射使得 jenkins容器可以和 Docker 守护进程通信。
将宿主机的目录/root/jenkinsdata 映射到容器内的/var/jenkins_home目录。这样每次重启 Jenkins 时都会保持以前的设置(可以输入docker inspect myjenkins查看Mouts这个Json节点验证映射)。
其中LANG=C.utf-8用于中文不乱码。
输入docker ps -a
查看所有容器。
开启防火墙服务systemctl start firewalld.service
设置开机启动防火墙服务systemctl enable firewalld
查看防火墙开放了哪些端口firewall-cmd --list-all
开放CentOS7.6的8080端口(–permanent表示永久有效,不写则重启系统失效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙firewall-cmd --reload
进入配置目录cd /root/jenkinsdata
编辑vi hudson.model.UpdateCenter.xml
将https://updates.jenkins.io/update-center.json
源
替换为清华源http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后重启容器docker restart myjenkins
如果是用的云服务器,还需在安全组中允许8080出入站。
在浏览器中输入服务器IP加8080就进入了jenkins
由于之前我将此图片中的目录映射到了宿主机的/root/jenkinsdata目录
所以进入此目录cd /root/jenkinsdata/secrets
查看密码cat initialAdminPassword
然后复制粘贴到这个输入框里。
如果没映射目录,那么首先进入容器(myjenkins为当前jenkins的容器名)
docker exec -it myjenkins /bin/bash
查看密码cat /var/jenkins_home/secrets/initialAdminPassword
然后复制粘贴到这个输入框里。
输入exit
退出容器
重启失败,说什么iptables failed
这时先重启docker服务systemctl restart docker
再启动jenkins就好了docker restart myjenkins
这时再刷新浏览器,需要重新粘贴密码,照之前方式重做一次。
我选择第二个按钮,就是"选择插件来安装"
我个人是先点“建议”,再加上勾上这几个,以后需要也还可以在jenkins里安装。
然后安装完后,可能需要刷新浏览器,输入安装时设置的用户名和密码登录
查看系统属性中的file.encoding和sun.jnu.encoding都是uft-8就放心了。
在系统设置里这个发送使用信息没必要勾。