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
相关推荐
Plastic garden4 分钟前
Docker(1)
运维·docker·容器
s_w.h16 分钟前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
songjxin19 分钟前
Nginx 日志分析可视化面板
运维·nginx
专注VB编程开发20年1 小时前
安卓APP与服务器通讯技术,文件传输和文字消息收发
运维·服务器
Agent手记1 小时前
电信运营商如何用AI实现携号转网自动处理?基于实在Agent的业务自动化落地与TARS大模型解析方案
运维·人工智能·ai·自动化
wanhengidc1 小时前
云手机搬砖 像僵尸开炮
运维·网络·智能手机·云计算
_Voosk2 小时前
FreeBSD 使用代理运行命令
linux·运维·freebsd
lihui_cbdd2 小时前
HPC 集群上 OpenMM GPU 多版本安装实战指南
运维·服务器·人工智能·计算化学
志栋智能2 小时前
超越监控:超自动化巡检提供的主动价值
运维·网络·人工智能·自动化
java_logo3 小时前
2026 Docker 国内镜像加速配置教程
运维·docker·容器·docker镜像·docker镜像源·docker镜像加速·docker镜像国内库