Jenkins 配置 GitLab 认证并实现自动化部署

文章目录

  • [一、在 GitLab 中生成 API Token](#一、在 GitLab 中生成 API Token)
  • [二、在 Jenkins 中配置 GitLab 凭证](#二、在 Jenkins 中配置 GitLab 凭证)
  • [三、Jenkins 中配置 GitLab 连接](#三、Jenkins 中配置 GitLab 连接)
  • [四、Jenkins 任务中配置 GitLab](#四、Jenkins 任务中配置 GitLab)

在 CI/CD 流程中,Jenkins 与 GitLab 的集成是非常常见且关键的一步。本文将详细介绍 如何在 Jenkins 中配置 GitLab 认证 ,并通过 Publish Over SSH 插件实现 构建后自动部署 JAR 包到远程服务器 。


一、在 GitLab 中生成 API Token

首先需要在 GitLab 中生成一个用于 Jenkins 访问的 Access Token。

1. 进入 Access Token 配置页面

路径如下:

复制代码
GitLab → 右上角头像 → Edit profile → User Settings → Access Tokens

2. 创建 Token

  • Name :自定义(如:jenkins-gitlab-token)

  • Expiration date:可选

  • Scopes:

    • api(必须)
    • read_repository(建议)

⚠️ 注意:Token 只会显示一次,请务必妥善保存。


二、在 Jenkins 中配置 GitLab 凭证

接下来,将 GitLab Token 添加到 Jenkins 凭证管理中。

1. 添加凭证

路径如下:

复制代码
Jenkins → Credentials → Domains → (global) → Add credentials

2. 凭证填写说明

  • Kind :GitLab API token
  • API token:粘贴上一步生成的 GitLab Token
  • ID :建议自定义(如:gitlab-api-token)
  • Description:可选

保存即可。


三、Jenkins 中配置 GitLab 连接

配置 Jenkins 与 GitLab 的全局连接信息。

1. 进入系统配置

路径如下:

复制代码
Jenkins → Manage Jenkins → Configure System

2. 配置 GitLab

在 GitLab 配置区域填写:

  1. Connection name :自定义(如:gitlab-connection)

  2. GitLab host URL:

    复制代码
    http://192.168.121.140/

    (根据你的 GitLab 实际地址填写)

  3. Credentials:选择前面创建的 GitLab Token 凭证

  4. 点击 Test Connection

若配置正确,将显示 Success


四、Jenkins 任务中配置 GitLab

1. 选择 GitLab 连接

在 Jenkins Job 配置中,选择刚刚创建的 GitLab 连接:


2. 配置源码管理(Source Code Management)

在 Job 配置页面中,配置 Git 仓库信息。

关键配置说明

  • Repository URL:GitLab 项目地址
  • Credentials:选择 GitLab 凭证
  • Branch Specifier :如 */main 或 */master

3. 安装并配置 Publish Over SSH 插件

为了实现构建完成后将 JAR 包自动部署到服务器,需要使用 Publish Over SSH 插件。

1. 安装插件

路径如下:

复制代码
Jenkins → Manage Jenkins → Manage Plugins → Available

搜索并安装 Publish Over SSH


2. 添加 SSH 服务

安装完成后,进入配置:

复制代码
Jenkins → Manage Jenkins → Configure System → Publish over SSH

填写远程服务器信息:

  • Host
  • Username
  • Password / Key
  • Remote Directory

4. 构建后自动部署 JAR 包

在 Job 配置中,添加 Post-build Actions。

1. 设置 JAR 包上传目录

2. 配置部署路径及命令

可在 Exec command 中编写启动脚本,例如:

bash 复制代码
pkill -f demo.jar
nohup java -jar /opt/app/demo.jar > app.log 2>&1 &

相关推荐
ZhuoAIStage10 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
海绵宝宝的月光宝盒12 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad
螺丝钉tina15 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
实验室管理云平台19 小时前
面向高职院校实训场景:实训实验室管理平台整体方案分享
大数据·科技·物联网·自动化
是jin奥19 小时前
Claude Code + GitHub 自动化工作流整理
运维·自动化·github
PiaoKe___19 小时前
云手机技术解析:从 ARM 虚拟化到 Python 自动化实战
python·智能手机·自动化
yz_aiks20 小时前
chrome-use 使用教程:让 Claude Code 操控已登录的 Chrome(禅道、ONES 实测)
chrome·自动化·大模型·ai agent
虎鲸不是鱼1 天前
AI 自动化逆向(三十五)假设空间枚举的完备性是假设出来的
人工智能·自动化·大模型·逆向·ai逆向
中屹指纹浏览器svip1 天前
指纹浏览器RPA自动化靠谱吗?先分清适用边界
运维·自动化·rpa
智能制造爱好者1 天前
传统绕线机适配不了分块定子?有哪些自动化解法
自动化·电机