jenkins安装和使用

1. 安装jenkins

安装指导:https://www.jenkins.io/zh/doc/book/installing/

本次由于网络问题决定使用war的模式安装

  1. 最新的稳定Jenkins WAR包 下载到您计算机上的相应目录。

  2. 在下载的目录内打开一个终端/命令提示符窗口到。

  3. 运行命令java -jar jenkins.war

  4. 浏览http://localhost:8080并等到*Unlock Jenkins*页面出现。

  5. 继续使用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
相关推荐
Splashtop高性能远程控制软件16 小时前
聊天工具与专业远程支持软件:企业 IT 远程支持工具选型的五个评估维度
运维·远程工作·splashtop
网络小白不怕黑17 小时前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
TTBIGDATA17 小时前
【Ambari Plus】15.Livy 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
java_logo18 小时前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
Macbethad18 小时前
基于TwinCAT的半导体刻蚀设备SCADA管理程序技术方案
运维·网络·数据库
刘马想放假19 小时前
生成树协议 STP、RSTP、MSTP 分析:二层环网如何既冗余又不环路
运维·网络协议
zhz521419 小时前
Nginx + OpenSSL 自签名证书配置:优劣总结
运维·nginx
jsons119 小时前
rocky8内网离线批量补丁(你之前搭建的架构,多台服务器首选,无订阅)
linux·运维·服务器
Bomangedd19 小时前
NSK RA25BN 滚子直线导轨技术详解
运维·服务器·经验分享·规格说明书
2301_7803039019 小时前
DevSecOps建设之自动化集成与部署 Jenkins教程和使用案例
运维·自动化·jenkins