Jenkins 打开

✅ 如图已经完全成功安装并初始化Jenkins了!
从图1可以确认:
- 能正常访问Jenkins Web管理界面、登录成功
- 核心功能入口(Create a job/Manage Jenkins等)正常显示
- 构建执行器(Build Executor Status)显示空闲,说明服务运行稳定
- 无报错提示,说明插件安装、管理员账号初始化全部完成
接下来我给大家讲一套小白友好、从0到1的全流程指南,实现「本地代码→GitHub→Jenkins自动打包→项目运行」,每一步都有可直接复制的操作��
一、先理清整个流程的逻辑
本地代码 → 【push推送到】GitHub仓库 → 【Jenkins pull拉取】代码 → 执行打包编译 → 构建成功后自动部署运行
(还可以加自动触发:GitHub提交代码后,自动通知Jenkins构建,不用手动点)
二、步骤1:把本地代码推送到GitHub(代码托管)
1.1 创建GitHub仓库
- 登录GitHub,点击右上角「+」→「New repository」
- 填写仓库名(比如my-java-project),选择Public/Private(私有仓库需要额外配置权限)
- 不要勾选「Initialize this repository with a README」(本地已有代码时)
- 点击「Create repository」,复制仓库地址(比如https://github.com/你的GitHub用户名/你的仓库名.git)
1.2 本地代码关联GitHub并推送
打开本地代码文件夹,右键打开Git Bash(或终端),执行以下命令:
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Bash # 1. 初始化本地Git仓库(首次使用才需要) git init # 2. 关联GitHub远程仓库(替换成你自己的仓库地址) git remote add origin https://github.com/你的GitHub用户名/你的仓库名.git # 3. 添加所有代码到暂存区 git add . # 4. 提交代码到本地仓库 git commit -m "第一次提交:初始化项目代码" # 5. 推送到GitHub的main分支(如果是master分支,把main换成master) git push -u origin main |
执行完后,刷新GitHub仓库,能看到代码就说明这一步完成✅
三、步骤2:Jenkins基础环境配置(Java/Maven必备)
你是Java开发,打包需要JDK和Maven,先在Jenkins里配置好工具,避免打包失败。
2.1 安装核心插件
- Jenkins首页→左侧Manage Jenkins→Plugins
- 点击Available plugins,搜索并安装以下插件:
- Git plugin:支持Jenkins拉取Git代码
- GitHub plugin:GitHub集成、WebHook自动触发
- Maven Integration plugin:Maven项目打包支持(用Gradle就装Gradle插件)
- NodeJS plugin(如果有前端项目):前端打包支持
- 安装完成后,重启Jenkins(Manage Jenkins→Reload Configuration from Disk,或直接重启服务)
2.2 配置JDK、Maven全局工具
- Manage Jenkins→Global Tool Configuration
- 配置JDK:
- 找到「JDK」→「Add JDK」
- 取消Install automatically,手动填写JDK安装路径(Linux示例:/usr/lib/jvm/java-1.8.0-openjdk-amd64;Windows示例:C:\Program Files\Java\jdk1.8.0_301)
- 别名填JDK8(方便后续任务调用),点击保存
配置Maven:
- 找到「Maven」→「Add Maven」
- 取消Install automatically,手动填写Maven安装路径(示例:/usr/local/maven-3.8.6)
- 别名填Maven3.8.6,点击保存
- 保存后,环境配置完成✅
四、步骤3:Jenkins创建任务,拉GitHub代码+打包编译
3.1 创建自由风格项目(小白首选,简单易上手)
- Jenkins首页→左侧New Item
- 输入任务名(比如my-java-project-build),选择Freestyle project,点击「OK」
3.2 配置源码管理(拉GitHub代码)
- 任务配置页→找到Source Code Management→选择「Git」
- Repository URL:填写你的GitHub仓库地址
- 私有仓库需要添加凭证:点击「Add」→「Jenkins」,选择Username with password
- Username填GitHub用户名,Password填GitHub Personal Access Token(PAT) (生成方法:GitHub→Settings→Developer settings→Personal access tokens→Tokens(classic),勾选repo权限生成)
- Branches to build :填*/main(对应GitHub分支,master就填*/master)
- 点击「Save」,再点击「Build Now」测试:
- 进入Build History→对应构建→Console Output,看到拉取代码成功就说明没问题
3.3 配置构建步骤(Maven打包)
- 回到任务配置页→Build→「Add build step」→「Invoke top-level Maven targets」
- Maven Version :选择刚才配置的Maven3.8.6
- Goals :填写打包命令:clean package -DskipTests
- clean:清理旧编译文件
- package:打包成jar/war
- -DskipTests:跳过测试,加快打包速度(避免测试失败导致打包失败)
点击「Save」,再次点击「Build Now」测试:
- 看到BUILD SUCCESS就说明打包成功!
- 打包后的jar包在任务页→Workspace→target目录下
五、步骤4:GitHub自动触发Jenkins构建(WebHook配置,推荐)
现在是手动点「Build Now」,配置WebHook后,GitHub提交代码会自动触发Jenkins构建,实现「提交=自动打包」。
4.1 Jenkins配置触发权限
- 任务配置页→Build Triggers→勾选GitHub hook trigger for GITScm polling
- 点击「Save」
- 确认Jenkins能被外网访问(如果是内网,需要用ngrok等内网穿透工具)
4.2 GitHub配置WebHook
- GitHub仓库→Settings→Webhooks→「Add webhook」
- Payload URL :填写http://你的Jenkins服务器IP:8080/github-webhook/(**末尾必须加** / ,否则会失败)
- Content type :选择application/json
- 触发事件 :选择Just the push event(仅代码推送时触发)
- 勾选Active,点击「Add webhook」
- 配置完成后,GitHub会发送测试请求,显示绿色对勾就成功✅
六、步骤5:构建成功后,自动运行项目(部署启动)
情况1:Jenkins和项目在同一台服务器(最简单)
- 任务配置页→Post-build Actions→「Add post-build action」→Execute shell(Linux)/Execute Windows batch command(Windows)
- 填写启动脚本(Linux示例,替换成你的jar包名):
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Bash # 1. 进入打包目录 cd /var/lib/jenkins/workspace/my-java-project-build/target # 2. 停止旧进程(避免端口占用) ps -ef | grep my-java-project.jar | grep -v grep | awk '{print $2}' | xargs kill -9 # 3. 后台启动项目,指定端口,输出日志 nohup java -jar my-java-project.jar --server.port=8081 > /var/log/my-java-project.log 2>&1 & |
点击「Save」,构建成功后会自动执行脚本,启动项目✅
情况2:Jenkins和项目在不同服务器
- 安装Publish Over SSH插件,配置目标服务器的SSH连接
- 构建后操作选择Send files or execute commands over SSH,传输jar包到目标服务器,再执行启动脚本
七、小白必看避坑指南
- GitHub私有仓库权限:GitHub已禁用密码登录,必须用Personal Access Token(PAT)
- WebHook无法访问:内网Jenkins需要用ngrok等内网穿透,把本地8080端口映射到公网
- Maven打包慢 :配置Maven阿里云镜像,直接替换settings.xml即可(我可以给你现成配置)
- Jenkins权限问题 :Linux下Jenkins默认用户是jenkins,需要给jenkins用户操作服务器的权限
- 端口占用:启动项目时如果端口被占用,换端口或杀掉占用进程
如果打开Manage Jenkins 出现下图情况:

不用惊慌,这些红色报错不是安装失败,是插件版本不兼容 导致的:
你装的插件版本太新,要求更高的 Jenkins 核心版本,而你当前的 Jenkins 版本不够,所以插件加载失败了,完全不影响基础功能使用。
没关系的,我的配置如下:

版本如下:

如果不放心,Jenkins 借助 Docker-compose 的完美升级流程
核心
- docker-compose pull 默认会拉取配置文件里所有服务的镜像(MySQL、Redis、Jenkins 全拉)
- 完全可以只拉取 Jenkins 镜像 + 只重启 Jenkins 容器,其他服务完全不受影响!
- 关键:在命令后面加上你的服务名 jenkins,就能精准定位操作
你直接复制用的 2 条命令(仅更新+重启 Jenkins)
更新 docker-compose.yml

你的 docker-compose.yml 里服务名是 jenkins,所以直接用这两个命令:
1. 仅拉取最新的 Jenkins 镜像(不拉其他任何镜像)
|----------------------------------|
| Bash docker-compose pull jenkins |
✅ 作用:只更新 Jenkins 镜像,MySQL/Redis/其他服务完全不动
2. 仅重启/重建 Jenkins 容器(不重启其他容器)
|-----------------------------------|
| Bash docker-compose up -d jenkins |
✅ 作用:
- 用刚拉取的最新 Jenkins 镜像重建容器
- 只操作 Jenkins,其他容器保持运行,无任何影响
- 保留你的所有数据、配置、任务(数据卷挂载没变)
补充:纯重启 Jenkins(不更新镜像)
如果只是想重启 Jenkins,不想更新版本,用这个:
|-------------------------------------|
| Bash docker-compose restart jenkins |
关键知识点(一看就懂)
|--------------------------------|----------------------|----------------|
| 命令 | 作用 | 适合场景 |
| docker-compose pull | 拉取所有服务镜像 | 全部服务都要更新 |
| docker-compose pull jenkins | 仅拉取 Jenkins 镜像 | 只更新 Jenkins |
| docker-compose up -d | 重启所有更新的容器 | 全部服务重启 |
| docker-compose up -d jenkins | 仅重建 Jenkins 容器(用新镜像) | 只更新+重启 Jenkins |
| docker-compose restart jenkins | 仅重启 Jenkins(旧镜像) | 仅重启,不更新 |
完整升级流程(零风险、不影响其他服务)
- 进入你的 docker-compose.yml 所在目录
- 执行(仅更新 Jenkins):
|----------------------------------|
| Bash docker-compose pull jenkins |
执行(仅重启 Jenkins):
|-----------------------------------|
| Bash docker-compose up -d jenkins |
等待 1 分钟,访问 Jenkins 就完成升级了 ✅