前言:最近在学习自动化打包,所以记录一下以免下次踩坑,虽然技术是持续更新的,但是有些东西是万变不离其中,以后会持续更新。
我这里采用的阿里云的云服务器,系统是CentOS 7.9 64位,安装Docker、Jenkins 、Git、JDK、Maven等工具。(注:有的安装Jenkins会自带 Git、JDK、Maven等工具,我安装的时候Jenkins没有这些工具需要自己安装)
一、安装 Docker
1、更新yum到最新版本
yum update
2、如果存在旧版本,可先卸载旧版本,再安装新版本
卸载旧版本(没有可跳过,可使用docker -v 查询是否有版本存在):
yum remove docker docker-common docker-selinux docker-engine
3、安装Docker
//安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
//配置docker yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或配置阿里 yum 源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//安卓docker
yum install docker-ce #安装最新版本
yum install <自己的版本> # 例如:yum install docker-ce-17.12.0.ce
//启动docker
systemctl start docker
//配置开机自启动
systemctl enable docker
验证是否安装成功
//查看安装版本 返回版本证明安装成功
docker version
二、安装Jenkins(docker安装jenkins)
安装之前需要拉取Jenkins镜像
//查看镜像
docker search jenkins
//拉取镜像
docker pull jenkins/jenkins:lts
//启动容器
docker run -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home --name jenkins jenkins/jenkins:lts
或者
docker run -u root --rm -d -p 8080:8080 -p 50000:50000 --name jenkins -v /var/jenkins_home:/var/jenkins_home -v /usr/lib/java/jdk-22.0.2:/usr/lib/java/jdk-22.0.2 -v /usr/local/develop/apache-maven-3.9.9:/usr/local/develop/apache-maven-3.9.9 jenkins/jenkins:lts
docker run: 运行 Docker 容器的命令。
-u root: 以 root 用户身份运行容器。这通常用于确保容器内的进程具有足够的权限执行需要的操作。
-rm: 关闭时自动删除Docker容器
-d: 在后台运行容器,即“detached”模式。
-p 8080:8080: 将容器内部的 8080 端口映射到宿主机的 8080 端口。Jenkins 服务通常在 8080 端口上运行。
-p 50000:50000: 将容器内部的 50000 端口映射到宿主机的 50000 端口。这是 Jenkins 使用的用于构建和执行任务的端口。
-v jenkins-data:/var/jenkins_home: 将宿主机上的目录(enkins-data)挂载到容器内的 /var/jenkins_home 目录。这样可以确保 Jenkins 数据和配置持久化,即使容器被删除,数据仍然保存在宿主机上。
-v /usr/lib/java/jdk-22.0.2:/usr/lib/java/jdk-22.0.2 云服务器上jdk安装目录
-v /usr/local/develop/apache-maven-3.9.9 云服务器上Maven 安装目录
--name jenkins: 为容器指定一个名称,即 "jenkins"。
TIP : 容器名称可以根