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
相关推荐
我头发多我先学33 分钟前
linux系统编程:初识进程
linux·运维·服务器
云飞云共享云桌面1 小时前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
苍狗T1 小时前
LVS相关知识总结
linux·运维·服务器·lvs
各类产品分享2 小时前
什么是AR智慧运维系统,主要能解决什么问题
运维·ar·ar智慧运维解决方案
RisunJan3 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔3 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower3 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer
骊城英雄3 小时前
彩笔运维勇闯机器学习--逻辑回归
运维·机器学习·逻辑回归
孪生质数-3 小时前
AI 应用实践篇——让大模型真正开始工作
linux·运维·服务器·人工智能·深度学习·语言模型·llama
Splashtop高性能远程控制软件3 小时前
连锁零售多门店远程运维指南:从故障响应到批量运维的四项能力
运维·零售·远程控制·splashtop