当前位置: 首页 > news >正文

从 0 到 1:Windows+Docker 搭建 Jenkins,自动拉取 Git 代码打包部署

一、前置准备(Windows 系统)

1.安装Docker Desktop(Windows 版,自带 Docker 环境);

2.启动 Docker,确保右下角 Docker 图标为运行状态;

3.准备一个Gitee/GitHub 私有 / 公有 Maven 项目;

4.安装SSH服务(远程服务器必须开启SSH服务,可以通过系统->可选功能,安装OpenSSH服务器)。

二、Docker 部署 Jenkins

(一)创建 Jenkins 数据挂载目录(Windows 本地)

在电脑任意盘(如 D 盘)创建文件夹:

D:\Docker\docker_volumes\jenkins_data

(二)拉取 Jenkins 官方镜像(带 JDK + Maven)

打开 WindowsCMD 或 PowerShell,执行命令:

docker pull jenkins/jenkins:lts-jdk21

(三)创建并启动 Jenkins 容器

打开 WindowsCMD 或 PowerShell,执行命令:

docker run -d --name my-jenkins -p 8081:8080 -p 50000:50000 -v D:\Docker\docker_volumes\jenkins_data:/var/jenkins_home -e TZ=Asia/Shanghai jenkins/jenkins:lts-jdk21

参数说明:

-d:后台运行;

--name my-jenkins:给容器命名;

-p 8081:8080:Web 端口(浏览器访问);

-p 50000:50000:Jenkins 代理通信端口;

-v D:\Docker\docker_volumes\jenkins_data:/var/jenkins_home:数据持久化(宿主机 ↔ 容器)宿主机目录会自动创建;

-e TZ=Asia/Shanghai:给容器设置时区。

(四)初始化 Jenkins

浏览器访问:http://localhost:8180。

粘贴初始密码 → 继续。

选择安装推荐的插件即可。

进入插件安装页面。

等待插件安装完成。

创建管理员账号(用户名 / 密码 / 邮箱),点击保存并完成。

实例配置(默认 URL 即可),点击保存并完成。

点击开始使用Jenkins。

进入 Jenkins 主页。

三、Jenkins 基础配置(Maven + Git + Publish Over SSH)

(一)安装必备插件

进入Jenkins ->系统管理 -> 插件管理 -> 可选插件,搜索安装:

  • Maven Integration
  • Git Plugin
  • Publish Over SSH

安装完成,重启Jenkins。

(二)配置 JDK + Git + Maven

进入Jenkins ->系统管理 -> 全局工具配置

1.JDK配置

取消 Install automatically选项;

名称:JDK21;

JAVA_HOME:/opt/java/openjdk(容器内 JDK21 固定路径,无需手动安装);

2.Git配置

插件已自带 Git,无需额外配置,直接使用。

3.Maven配置

名称:Maven3;

勾选 Install automatically(自动下载)。

(三)配置 Git 仓库凭证

进入Jenkins ->系统管理 -> 凭据管理 -> 添加凭据。

选择 Username with password 选项。

Username就是你的 Gitee / GitHub 账号;

密码就是你的令牌(token)。

填写完成,点击Create即可。

(四)配置远程服务器

进入Jenkins ->系统管理 -> 系统配置。

新增SSH server:

Name:自定义(如windows-local)

Hostname:远程服务器 IP(连接宿主机本机填host.docker.internal)

Username:服务器登录账号

Password:服务器登录密码(高级->选中Use password authentication,or use a different key)

Remote Directory:推送的文件目录(这里是全局目录,可为空,例:/usr/local/tomcat/webapps)

点击Test Configuration,显示Success即配置成功。

四、创建自动化任务:拉取 Git 代码 + Maven 打包

(一)新建任务

点击首页新建任务

任务名称:根据需要填写即可;

选择:构建一个 Maven 项目 → 确定。

源码管理 → Git;

Repository URL:你的 Git 仓库地址(HTTPS/SSH);

Credentials:添加 Git 账号密码 / 令牌;

Branches to build:指定分支,*/main 或 */master。

注意:填写完成,及时点击应用按钮,避免后续关闭页面填写信息丢失。

(二)配置构建命令

Build -> Goals and options中填入:

clean package -Dmaven.test.skip=true

作用:清理、打包项目,跳过单元测试。

注意:填写完成,及时点击应用按钮,避免后续关闭页面填写信息丢失。

(三)配置远程服务器

Post Steps → Add post-build step。

选择 Send files or execute commands over SSH。

Name:选择你配置的远程服务器;

Source files:打包后的 war 包路径(例:target/*.war);

Remove prefix:target;

Remote directory:留空(如果全局配置,这里可以留空,也可以添加子目录)。

填写完成,点击Save按钮。

(四)立即构建

点击立即构建,Jenkins 会自动:

  1. 拉取 Git 最新代码
  2. 调用 Maven 打包
  3. 生成 jar/war 包
  4. 传递到远程服务器(在Remote directory中查看)

五、特别提醒

(一)Windows OpenSSH的根路径问题

Windows 开启了 SSH,你登录 SSH 后,默认根目录是 C:\Users\你的用户名\,所以写任何Remote directory路径,都会跑到这里面去。如需调整可通过找Windows openssh 配置文件(C:\ProgramData\ssh\sshd_config)进行配置。

(二)部署到Tomcat目录

可以将远程服务器的目录指定为Tomcat的webapps的挂载目录,在Exec command框里边填入执行Tomcat的命令,即可实现全自动化部署。

http://www.jsqmd.com/news/543106/

相关文章:

  • 携程任我行礼品卡变现的最佳渠道是什么? - 团团收购物卡回收
  • 2026智能戒指品牌口碑排行榜
  • 告别键盘连击烦恼:Keyboard Chatter Blocker的5个实用技巧
  • 终极指南:如何在Krita中轻松实现AI图像生成与编辑
  • OpenClaw自动化写作:Qwen3-32B镜像生成技术博客实践
  • SDMatte惊艳效果展示:高清透明PNG在海报/PPT/详情页真实复用案例
  • Python实战:用PWLCM生成混沌序列的5个常见问题与解决方案
  • 告别迷茫!Java程序员入门AI的完整学习地图
  • DMXAPI教师备课减负神器! 22+款免费大模型API,用hunyuan-lite教学更轻松
  • Java面试场景实战:互联网大厂音视频场景与Spring技术栈应用
  • 教你快速回收携程任我行礼品卡,最大化收益! - 团团收购物卡回收
  • 新手友好:通过快马用自然语言生成你的第一个openclaw卸载脚本
  • OpenClaw技能超市:10个Qwen3-VL:30B飞书插件一键安装包
  • 从崩盘到月入12万订单:中小企业AI落地30天可复制实操全流程
  • 为什么说石墨烯晶体管是生物传感器的未来?详解GFET在葡萄糖检测中的突破应用
  • 如何让学术论文免费阅读?解锁付费墙的智能助手来了
  • 新手福音:借鉴vscode codex,用快马平台生成你的第一个python猜数字游戏
  • 如何快速识别B站评论区用户成分:智能检测工具完整指南
  • 如何把 OpenClaw 工程化为企业可控生产力平台。
  • 用快马平台十分钟搞定windows18-hd19风格设置界面原型
  • 同城家政小程序预约APP开发保洁搬家维修生活服务定制系统-ym7K
  • GIL已死?不,它只是隐身了:Python 3.13异步IO+共享内存并发模型的8个反直觉崩溃场景,你中招几个?
  • 实测!2026评价高的尘埃粒子测试仪源头厂家推荐,尘埃粒子测试仪口碑分析优质品牌分析更新 - 品牌推荐师
  • 机械键盘按键防抖开源工具:从故障诊断到多场景优化全指南
  • qt新手福音:用快马平台ai生成示例代码轻松入门图形界面开发
  • Stable Diffusion Anything V5应用案例:快速制作PPT配图与海报
  • PTA 7-30 字符串的冒泡排序
  • 微信立减金回收指南:闲置福利不浪费的正确操作 - 团团收购物卡回收
  • C++ 网络服务端实战:TCP + UDP + WebSocket 三协议支持
  • 别再死磕代码了!用AutoSAR-CP/AP分层架构,让你的汽车软件开发效率翻倍