jenkins脚本触发部署

1、准备工作

  • 确保 Jenkins 已安装并启用 API 访问
  • 创建 Jenkins 用户并赋予适当权限
  • 生成 API 令牌(在用户设置中创建)

生成API令牌

  • 登录该用户后,进入 个人设置(右上角用户名 → Configure)
  • API Token 栏点击 Add new Token ,输入名称(如 deploy-token)并生成,保存令牌(仅显示一次)。

生成token

2、触发方式

  • 使用 HTTP POST 请求调用 Jenkins 构建 API
  • 可以传递参数化构建所需的参数
  • 支持通过 Basic Auth 或 API 令牌进行身份验证

脚本示例

复制代码
#!/bin/bash

# Jenkins配置
JENKINS_URL="http://your-jenkins-server:8080"
JOB_NAME="your-deployment-job"
USERNAME="your-username"
API_TOKEN="your-api-token"

# 构建参数(如果有)
PARAMS="ENV=production&VERSION=1.0.0"

# 触发构建
echo "Triggering Jenkins job: $JOB_NAME"
curl -X POST "${JENKINS_URL}/job/${JOB_NAME}/buildWithParameters?${PARAMS}" \
  --user "${USERNAME}:${API_TOKEN}" \
  -H "Content-Type: application/x-www-form-urlencoded"

echo "Build triggered successfully"

关键参数说明

  • 构建 URL

    • 非参数化构建:http://jenkins-url/job/job-name/build
    • 参数化构建:http://jenkins-url/job/job-name/buildWithParameters?param1=value1&param2=value2
  • 身份验证

    • 使用用户名:API令牌进行 Basic Auth 认证
    • API 令牌可在 Jenkins 个人设置中生成,比密码更安全
  • 响应处理

    • 成功触发会返回 201 Created 状态码
    • 可通过 API 查询构建状态:http://jenkins-url/job/job-name/lastBuild/api/json

示例脚本

无参数构建

复制代码
#!/bin/bash

# Jenkins配置
JENKINS_URL="http://127.1.0.1:8900"
JOB_NAME="all-sx"
USERNAME="jenkins"
API_TOKEN="11e92e4fffdfbb8d3e7fb247ba9aaaa"


# 触发构建
echo "Triggering Jenkins job: $JOB_NAME"
curl -X POST "${JENKINS_URL}/job/${JOB_NAME}/build" \
  --user "${USERNAME}:${API_TOKEN}" \
  -H "Content-Type: application/x-www-form-urlencoded"

echo "Build triggered successfully"
相关推荐
yangmf20406 分钟前
如何使用证书认证连接 Easysearch
运维·elasticsearch·搜索引擎
zzzsde14 分钟前
【Linux】基础指令(2):理解Linux的指令和核心概念
linux·运维·服务器
2501_938773871 小时前
从 0 到 1 搭建 TikTok 自动化系统:内容、投放、客服全环节自动化实践
运维·自动化
wanhengidc1 小时前
云手机 基于云计算的虚拟手机
运维·服务器·游戏·智能手机·云计算
塔能物联运维1 小时前
物联网设备固件版本智能管理与自动化更新策略
运维·物联网·自动化
凝新科技1 小时前
数字营销软件完整指南|CRM、CDP、自动化平台 2025
运维·自动化
小小的木头人2 小时前
Keepalived 多节点负载均衡配置
运维
初学者_xuan6 小时前
零基础新手小白快速了解掌握服务集群与自动化运维(十五)Redis模块-Redis数据库基础
运维·数据库·自动化
DooTask官方号7 小时前
DooTask 1.3.38 版本更新:MCP 服务器与 AI 工具深度融合,开启任务管理新体验
运维·服务器·人工智能·开源软件·dootask
阿Y加油吧11 小时前
Docker从入门到实战——含容器部署、docker基础、项目部署
运维·docker·容器