1. 安装jenkins
安装指导:https://www.jenkins.io/zh/doc/book/installing/
本次由于网络问题决定使用war的模式安装
-
将最新的稳定Jenkins WAR包 下载到您计算机上的相应目录。
-
在下载的目录内打开一个终端/命令提示符窗口到。
-
运行命令java -jar jenkins.war
-
浏览http://localhost:8080并等到*Unlock Jenkins*页面出现。
-
继续使用Post-installation setup wizard后面步骤设置向导。
安装命令
sudo apt install openjdk-21-jre-headless
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
nohup java -Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true -jar jenkins.war --httpPort=12345 &
效果:

2. 获取Token

3. API接口
3.1 执行无参JOB
curl -i -u admin:11e5f9c237916deaf3f9c5b98121da11a0 -X POST http://127.0.0.1:12345/job/testbuild/build?delay=0sec
HTTP/1.1 201 Created
Server: Jetty(12.1.6)
Date: Sat, 09 May 2026 08:06:29 GMT
Vary: Accept-Encoding
Location: http://150.158.145.2:12345/queue/item/45/
Content-Length: 0
3.2 执行有参JOB
curl -i -u admin:11e5f9c237916deaf3f9c5b98121da11a0 -X POST "http://127.0.0.1:12345/job/testbuild-params/buildWithParameters?delay=0sec&aaa=aaa&bbb=bbb"
HTTP/1.1 201 Created
Server: Jetty(12.1.6)
Date: Sat, 09 May 2026 08:07:29 GMT
Vary: Accept-Encoding
Location: http://150.158.145.2:12345/queue/item/54/
Content-Length: 0
有参的场景下脚本配置:
pipeline {
agent any
// 定义参数
parameters {
string(name: 'aaa', defaultValue: 'dev', description: '部署环境 (dev/prod)')
string(name: 'bbb', defaultValue: 'dev', description: '部署环境 (dev/prod)')
}
stages {
stage('Example') {
steps {
// 使用参数:params.参数名
echo "Deploying to ${params.aaa}"
echo "Running tests: ${params.bbb}"
echo "Branch: ${params.BRANCH}"
}
}
}
}
3.3 查询队列任务状态
curl -i -u admin:11e5f9c237916deaf3f9c5b98121da11a0 -X GET "http://127.0.0.1:12345/queue/item/56/api/json"
{"_class":"hudson.model.Queue$LeftItem","actions":[{"_class":"hudson.model.ParametersAction","parameters":[{"_class":"hudson.model.StringParameterValue","name":"aaa","value":"aaa"},{"_class":"hudson.model.StringParameterValue","name":"bbb","value":"bbb"}]},{"_class":"hudson.model.CauseAction","causes":[{"_class":"hudson.model.Cause$UserIdCause","shortDescription":"Started by user admin","userId":"admin","userName":"admin"}]}],"blocked":false,"buildable":false,"id":56,"inQueueSince":1778314819481,"params":"\u000aaaa=aaa\u000abbb=bbb","stuck":false,"task":{"_class":"org.jenkinsci.plugins.workflow.job.WorkflowJob","name":"testbuild-params","url":"http://150.158.145.2:12345/job/testbuild-params/","color":"blue"},"url":"queue/item/56/","why":null,"cancelled":false,"executable":{"_class":"org.jenkinsci.plugins.workflow.job.WorkflowRun","number":11,"url":"http://150.158.145.2:12345/job/testbuild-params/11/"}}
3.4 查询JOB任务状态
curl -i -u admin:11e5f9c237916deaf3f9c5b98121da11a0 -X GET "http://127.0.0.1:12345/job/testbuild-params/11/api/json"
{"_class":"org.jenkinsci.plugins.workflow.job.WorkflowRun","actions":[{"_class":"hudson.model.ParametersAction","parameters":[{"_class":"hudson.model.StringParameterValue","name":"aaa","value":"aaa"},{"_class":"hudson.model.StringParameterValue","name":"bbb","value":"bbb"}]},{"_class":"hudson.model.CauseAction","causes":[{"_class":"hudson.model.Cause$UserIdCause","shortDescription":"Started by user admin","userId":"admin","userName":"admin"}]},{"_class":"jenkins.metrics.impl.TimeInQueueAction","blockedDurationMillis":0,"blockedTimeMillis":0,"buildableDurationMillis":0,"buildableTimeMillis":6,"buildingDurationMillis":497,"executingTimeMillis":183,"executorUtilization":0.37,"subTaskCount":1,"waitingDurationMillis":1,"waitingTimeMillis":1},{"_class":"org.jenkinsci.plugins.workflow.libs.LibrariesAction"},{},{},{},{},{"_class":"org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"},{"_class":"org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"},{},{"_class":"org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"},{},{}],"artifacts":[],"building":false,"description":null,"displayName":"#11","duration":497,"estimatedDuration":492,"executor":null,"fullDisplayName":"testbuild-params #11","id":"11","keepLog":false,"number":11,"queueId":56,"result":"SUCCESS","timestamp":1778314819484,"url":"http://150.158.145.2:12345/job/testbuild-params/11/","changeSets":[],"culprits":[],"inProgress":false,"nextBuild":null,"previousBuild":{"number":10,"url":"http://150.158.145.2:12345/job/testbuild-params/10/"}}
3.5 下载构建日志
curl -i -u admin:11e5f9c237916deaf3f9c5b98121da11a0 -X GET "http://127.0.0.1:12345/job/testbuild-params/4/consoleText"
HTTP/1.1 200 OK
Server: Jetty(12.1.6)
Date: Sat, 09 May 2026 08:24:09 GMT
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
Transfer-Encoding: chunked
Started by user admin
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /home/ubuntu/.jenkins/workspace/testbuild-params
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Example)
[Pipeline] echo
Deploying to aaa
[Pipeline] echo
Running tests: bbb
[Pipeline] echo
Branch: null
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS