Jenkins(超详细的Docker安装Jenkins教程!!!)
jenkins自动化部署
以下是通过 Docker 安装 Jenkins 并完成自动化部署的完整教程,包括安装前置的 JDK、Maven 等环境的详细步骤:
1. 准备环境
确保以下条件满足:
-
操作系统为支持 Docker 的 Linux 系统(例如 Ubuntu)。
-
已安装 Docker 和 Docker Compose。
# 更新软件包
sudo apt update && sudo apt upgrade -y
# 安装 Docker
sudo apt install -y docker.io
# 启动 Docker 服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 检查安装是否成功
docker --version
安装 Docker Compose:
sudo apt install -y docker-compose
docker-compose --version
2. 拉取 Jenkins 镜像
配置国内的docker镜像源 不然下载很忙,或者链接报错(我用的阿里云的docker镜像加速)
登录阿里云搜索容器镜像
sudo vim /etc/docker/daemon.json
写入下面镜像
{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}
在 Docker 中使用 Jenkins 官方镜像:
docker pull jenkins/jenkins:lts
3. 创建 Jenkins 容器
创建 Jenkins 容器并挂载本地目录,用于持久化数据和方便配置。
创建挂载目录
mkdir -p ~/jenkins_home
sudo chown 1000:1000 ~/jenkins_home
运行 Jenkins 容器
docker run -d -p 8080:8080 -p 50000:50000
--name jenkins
-v ~/jenkins_home:/var/jenkins_home
-v /var/run/docker.sock:/var/run/docker.sock
jenkins/jenkins:lts
解释:
-p 8080:8080: 将 Jenkins 的默认 Web 端口映射到主机的 8080 端口。 前面参数是主机的 后面参数是docker内部容器的
-v ~/jenkins_home:/var/jenkins_home: 持久化 Jenkins 数据。 docker内部的/var/jenkins_home数据会持久化到主机的~/jenkins_home目录下面 后面打包后的jar文件也在这下面
-v /var/run/docker.sock:/var/run/docker.sock: 允许 Jenkins 控制主机的 Docker。
编辑Jenkins的插件下载地址,国外的下载太慢的,会导致很多插件下载失败
vim /var/jenkins_home/hudson.model.UpdateCenter.xml
将 url 内容修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学官方镜像)
4. 访问 Jenkins 并完成初始配置
打开 Jenkins 页面
访问 http://<主机IP>:8080
。
进入容器内部 查询初始化密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
exit 退出容器内部
安装推荐插件
根据提示安装推荐的插件,并创建管理员账户。
如果某一些插件安装失败了,就重试一下。
初始化管理员密码
进入主页
5. 安装 JDK 和 Maven
在 Jenkins 容器中安装 JDK 和 Maven,以便用于构建项目。
进入容器
docker exec -u root -it jenkins bash
安装 JDK
-
更新包管理器:
-
apt update
-
安装 OpenJDK(以 Java 17 为例):
-
apt install -y openjdk-17-jdk
-
验证安装:
-
java -version
安装 Maven
-
下载并解压 Maven:
-
apt install -y wget wget https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz tar -xzvf apache-maven-3.8.8-bin.tar.gz -C /opt/ mv /opt/apache-maven-3.8.8 /opt/maven 编辑settings.xml 里面的mirror标签的maven镜像地址为阿里云的 vim /opt/maven/conf/settings.xml
nexus-aliyun Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public/ central -
配置环境变量:
-
echo "export M2_HOME=/opt/maven" >> ~/.bashrc echo "export PATH=$M2_HOME/bin:$PATH" >> ~/.bashrc source ~/.bashrc
-
验证安装:
-
mvn -version
退出容器:
exit
安装git
-
apt安装git
-
apt install git
6. jenkins配置jdk,maven,git路径
1. 登录 Jenkins 管理界面
-
打开 Jenkins 的管理页面。
-
依次进入 "Manage Jenkins" > "Global Tool Configuration"。
2. 配置 JDK
在 JDK Installations 部分:
-
点击 "Add JDK"。
-
填写以下内容:
-
Name:例如
OpenJDK
. -
JAVA_HOME:填写你的 Java 路径
/opt/java/openjdk
。
-
-
确保未勾选 "Install automatically",因为路径已经指定
3. 配置 Maven
在 Maven Installations 部分:
-
点击 "Add Maven"。
-
填写以下内容:
-
Name:例如
Maven 3.9.9
。 -
MAVEN_HOME:填写你的 Maven 路径
/opt/maven
。
-
-
同样,确保未勾选 "Install automatically"。
4. 配置 Git
在 Git 工具部分:
-
如果有现成的 Git 配置,确认路径是否正确。
-
如果没有:
-
点击 "Add Git"。
-
填写以下内容:
-
Name:例如
Default Git
。 -
Path to Git executable:填写
/usr/bin/git
。
-
-
7. 配置Jenkins密钥
docker exec -u root -it jenkins bash
cd /root/.ssh/
# 执行生成秘钥,输入后一路回车
ssh-keygen -t rsa -C "root"
# 公钥,放git仓库里面
cat id_rsa.pub
# 私钥,放jenkins里面
cat id_rsa
输入用户名和 私钥id_rsa复制进去
第二种方式 用户名和密码
8. 配置项目,自动构建
新建maven项目
配置git地址 以及验证方式保存就行
构建测试
控制台输出
最后输出 Finished: SUCCESS 表示构建成功,也会显示jar在docker里面的位置,同样会在主机的映射目录里面
9.结语
现在构建好以后,就可以通过写一个shell脚本直接启动,或者通过其他方式自动部署
安装插件后可能有些报红,或者更新,注意看提示,安装所需的插件