Docker部署Jenkins并打包gitee仓库项目
一、背景:本地安装的虚拟机和装好docker
1.1 创建持久化数据卷
1.2 拉取镜像
1.3 启动容器
1.4 查看启动日志
2.1 访问Jenkins并完成初始化
2.2 安装插件
二、安装Gitee插件
2.1 更换国内镜像源
2.2 安装gitee和docker插件
2.3 获取Gitee私人令牌
2.4 Jenkins中配置Gitee
三、 项目构建
3.1、我提供一个简单的java测试服务
3.2、jdk多版本环境准备勾选自动安装
3. 3创建 Jenkins Pipeline 任务
3.4、开始构建
3.5、启动测试
一、背景:本地安装的虚拟机和装好docker
1.1 创建持久化数据卷
# 使用Docker命名卷(推荐,数据独立于宿主机目录)
docker volume create jenkins_home
1.2 拉取镜像
docker pull jenkins/jenkins:lts-jdk17
1.3 启动容器
docker run -d \
--name jenkins \
--restart unless-stopped \
-u root \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-e TZ="Asia/Shanghai" \
-e JAVA_OPTS="-Dhudson.security.HostHeader.enforceHostHeader=false -Xmx2g -Xms512m" \
jenkins/jenkins:lts-jdk17
参数说明:
| 参数 | 说明 |
|---|---|
-d |
后台运行 |
--name jenkins |
容器名称 |
--restart unless-stopped |
容器退出时自动重启(除非手动停止) |
-p 8080:8080 |
映射Web管理界面端口(前面是服务器端口,后面是容器端口) |
-p 50000:50000 |
映射Agent节点通信端口(分布式构建用) |
-v jenkins_home:/var/jenkins_home |
数据持久化 |
-v /var/run/docker.sock:/var/run/docker.sock |
允许Jenkins容器内调用宿主机Docker |
-e TZ="Asia/Shanghai" |
设置时区为北京时间 |
-e JAVA_OPTS="-Xmx2g -Xms512m" |
JVM内存配置 |
1.4 查看启动日志
docker logs -f jenkins
启动成功会看到初始密码,当前安装的版本是2.541.3

2.1 访问Jenkins并完成初始化
注意这里一个小点我卡了好一会,不能使用127.0.0.1:8080访问,虽然是你本地虚拟机,但是要使用虚拟的ip访问。自己都想打自己。。。。。

2.2 安装插件
选择 "安装推荐的插件" (推荐)
- 这会自动安装Git、Pipeline等核心插件
- 等待约3-5分钟完成安装
-
创建管理员用户:填写用户名、密码、邮箱
-
配置Jenkins URL:填写
http://<服务器IP>:8080 -
点击"保存并完成" → "开始使用Jenkins"

确实需要等上一会


等了一个世纪,部分成功,部分失败,先下一步。后面可以再装



二、安装Gitee插件
2.1 更换国内镜像源
https://mirrors.tuna.tsinghua.edu.cn/

2.2 安装gitee和docker插件


前面安装失败的插件在更换国内镜像地址后自动开始下载了

2.3 获取Gitee私人令牌
-
登录Gitee → 右上角头像 → "设置账号"
-
左侧菜单 → "私人令牌" → "生成新令牌"
-
勾选
projects权限,点击提交 -
复制生成的令牌(只显示一次,务必保存)

2.4 Jenkins中配置Gitee
-
Jenkins首页 → "系统管理" → "系统配置"
-
找到 "Gitee配置" 部分:
-
链接名:
gitee.com -
Gitee域名URL:
https://gitee.com -
将私人令牌粘贴进去 → 点击"添加"
-
测试连接:点击"测试",显示"成功"即配置正确
-


输入令牌后会多一个选择

然后点击测试会显示成功

tips:做到这里时候我有重启jenkins,但发现之前改的密码没生效不知道为什么,但是日志里的密码还能使用,就使用admin和日志密码登录了,然后在页面重新修改了密码,然后重启服务才生效。不知道别人是否也有。
三、 项目构建
3.1、我提供一个简单的java测试服务
https://gitee.com/jd4932/jenkins-demo.git
打包这个项目需要maven和jdk环境。开始配置

点击齿轮设置滚到最下面就是全局工具配置


3.2、jdk多版本环境准备勾选自动安装


3. 3创建 Jenkins Pipeline 任务
-
在 Jenkins 首页点击 “新建任务”。
-
输入任务名称,选择 “流水线 (Pipeline)”,点击确定。
-
在任务配置页面,找到 “流水线” 部分。
-
Definition: 选择
Pipeline script from SCM。 -
SCM: 选择
Git。 -
Repository URL: 填写你的 Gitee 项目地址(如
https://gitee.com/your-username/your-project.git)。 -
Credentials: 新建一个gitee的认证方式,我选择账号密码,这个随便。
-
Branches to build: 指定要构建的分支(如
*/main或*/master)。 -
Script Path: 保持默认的
Jenkinsfile。
-
-
点击 “保存”。


注意这个流水线会读取Jenkinsfile文件,这个 是在我后端服务代码里的。

流水线这个配置不要勾选
3.4、开始构建


3.5、启动测试
目前构建完是在宿主机上,测试的ip注意是虚拟机ip,不能使用127.0.0.1

docker run -d -p 8099:8080 --name jenkins-demo jenkins-demo:8

完美撒花~~~~~~~~~~~
更多推荐
所有评论(0)