1.简介
1.1 什么是Jenkins
1.是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的允许,用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可以独立运行。
2. 官方文档 https://www.jenkins.io/
2. Linux云服务器部署Jenkins注意事项
1. 在使用Jenkins自动化部署之前,首先安装Docker容器
2.使用Docker 20.10.9版本,不要使用1.13.1版本,该版本在jenkins使用docker命令时会说找不到配置文件!
3.在安装JenKins之前要保证机子的配置要高!不建议使用虚拟机,不然卡或者缺少类库。
3.开始配置
1.安装Docker
# 1.先安装yml
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
#设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache
#或者配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ajphskq8.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 3.查看可安装的docker版本
yum list docker-ce --showduplicates | sort -r
#4. 安装docker
yum -y install docker-ce-20.10.10-3.el7
#5. 查看docker版本
docker -v
#6. 启动docker
systemctl start docker
#7. 查看docker 启动状态
systemctl status docker
#查看端⼝占⽤命令安装
yum install -y lsof
2.安装Jenkins
2.1 创建Jenkins持久化目录
mkdir -p /root/docker/jenkins
2.2 运行部署容器
docker run -d \
-u root \
--name cloud_jenkins \
-p 9302:8080 \
-v /root/docker/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
jenkins/jenkins:2.401.3-lts-jdk11
一行:表示将该容器在后台运行
第二行:表示使用root用户来运行容器
第三行:表示给这个容器命名,后面可以通过这个名字来管理容器
第四行:表示将主机的9302端口映射到8080端口上,后面就可以通过主机ip:9302来访问Jenkins,端⼝是可以更改的,根据自行需要。
第五行:表示将本地/root/docker/jenkins目录映射为/var/jenkins_home目录,这就是第二步中的持久化目录。
第六、七行:表示把本地/var/run/docker.sock⽂件映射在容器中/var/run/docker.sock文件。这⼀步的目的就是为了把容器中。
的Jenkins可以与主机Docker进行通讯。
第八行:指定使⽤哪⼀个镜像和标签
2.3 打开阿里云安全组开放端口9302
2.4 在浏览器中输入IP+端口号,比如127.0.0.1:9302,即可访问Jenkins登录页面
2.5 获取登录Jenkins的密码,把获取的密码复制上去
cat /root/docker/jenkins/secrets/initialAdminPassword
2.6 选择安装推荐插件
2.7 进⼊到全局⼯具配置设置JDK
2.8 容器内配置JDK
路径为主机Jenkins容器内部里的JAVA_HOME,也就是echo $JAVA_HOME查看JAVA_HOME路径
/opt/java/openjdk
插件页面下载插件
Maven Integration、docker Pipeline、docker API 、 docker、docker commons