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
相关推荐
旗开得胜马到成功16 分钟前
可信备份技术解析:中科热备如何防范备份数据被攻击
运维·服务器
JavaPub-rodert33 分钟前
使用 Docker 部署 Ollama:Docker Compose 一键运行 DeepSeek-R1 1.5B
运维·docker·容器
蓝速科技35 分钟前
蓝速科技信创落地:平衡安全合规与项目成本的实战方案
android·运维·人工智能·科技·安全·电脑·鸿蒙
NJCloud1 小时前
MooseFS 分布式存储部署与高可用架构实践
linux·运维·分布式·架构
晓晓_za8986681 小时前
Geo 优化源码蒸馏词机制:地域词库构建与匹配逻辑详解
运维·tcp/ip·spring·缓存·ci/cd
奈斯先生Vector1 小时前
从 127.0.0.1:3080 到插件运行时:DeepSeek Harness 远程开发与版本治理实战
linux·运维·人工智能·ubuntu·aigc
Android系统攻城狮2 小时前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(七十八)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
东莞和裕包装4 小时前
如何管控广州定制纸箱生产中的啤切精度与印刷色差质量问题
大数据·运维·网络·人工智能
小飞侠在吗5 小时前
Windows 下 Nginx 访问 127.0.0.1 报 50x 错误:根因是路径里 \t 被当成 Tab
运维·windows·nginx
九硕智慧建筑一体化厂家6 小时前
楼宇自控|智慧建筑核心引擎!楼宇自控系统,赋能建筑高效低碳运维
运维·人工智能·笔记·智慧城市