Centos7使用docker安装Jenkins(含pipeline脚本语句)

一、下载Jenkins

docker pull jenkins/jenkins:lts

二、启动Jenkins

docker run \-u root \--rm \-d \-p 8081:8080 \-p 50000:50000 \-v /root/docker/jenkins/var/jenkins_home:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \-v /usr/bin/docker:/usr/bin/docker \-v /usr/lib64/libltdl.so.7:/usr/lib/libltdl.so.7 \--name jenkins \jenkins/jenkins:lts

三、配置镜像加速器

cd /root/docker/jenkins/var/jenkins_home/
vi hudson.model.UpdateCenter.xml

目录是启动时挂载的目录,然后将url修改https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json ,内容如下:

四、验证Jenkins

ip + 端口  等待一段时间

http://192.168.32.16:8081

等待之后就是登录界面,docker logs -f jenkins 可以查看启动时的临时密码:

 

继续安装插件,网络问题,插件安装堪忧啊~~后续使用还是得将插件 安装好。

五、配置jenkins中文模式

Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置_centos7 docker jenkins-CSDN博客

六、pipeline脚本语句

pipeline {agent anyenvironment {NAME = 'CXB' // 全局变量,会在所有的stage中生效//AWS_ACCESS_KEY_ID = credentials('txt1')//AWS_SECRET_ACCESS_KEY = credentials('txt2')}options {timeout(time: 1, unit: 'HOURS') //超时时间1小时,如果不加unit参数默认为1分timestamps() buildDiscarder(logRotator(numToKeepStr: '3'))  //保留三个历史构建版本quietPeriod(10) //  流水线静默期,也就是触发流水线后等待一会在执行。 注意手动触发的构建不生效//retry(3) // 流水线失败重试次数}parameters {string(name: 'DEPLOY_ENV', defaultValue: 'st', description: '执行构建时需要手动配置字符串类型参数,之后赋值给变量')text(name: 'DEPLOY_TEXT', defaultValue: 'One\nTwo\nThree\n', description: '执行构建时需要提供文本参数,之后赋值给变量')booleanParam(name: 'DEBUG_BUILD', defaultValue: true, description: '布尔型参数')choice(name: 'CHOICES', choices: ['one', 'two', 'three'], description: '选择形式列表参数')//imageTag(name: 'DOCKER_IMAGE', image:  'kubernetes/kubectl', filter: '.*', defaultTag: '', registry: 'https://192.168.32.16', credentialId: 'harbor-account', tagOrder: 'NATURAL', description: '获取镜像名称与tag')gitParameter(name: 'BRANCH', branch: 'main', branchFilter: 'origin/(.*)', defaultValue: 'main', description: 'Branch for build and deploy, 获取git仓库分支列表,必须有git引用', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'PT_BRANCH')}triggers {cron('H */10 * * 1-5')   //周一到周五每隔四个小时执行一次//cron('H/2 * * * *')   //每隔2分钟执行一次//cron('H * * * *')   //每隔1小时执行一次//目前支持的状态有 SUCCESS、UNSTABLE、FAILURE、NOT_BUILT、ABORTED 等。//upstream(upstreamProjects: 'Build', threshold: hudson,model,Result.SUCCESS)  //当env构建成功时构建这个流水线}stages {stage("Build") {environment { // 定义在stage 中的变量只会在当前stage生效MY_URL = "WWW.BAIDU.COM"}agent {docker "maven:3-alpine"}input {message "还继续么?"ok "继续"submitter "alice,bob"parameters {string(name: 'PERSON', defaultValue: 'Mr Jenkins',  description: 'who should say  hello')}}steps {//echo "${AWS_ACCESS_KEY_ID}"//echo "${AWS_SECRET_ACCESS_KEY}"echo 'hello maven'sh 'mvn -version'echo "${MY_URL}"echo "${NAME}"echo "hello,${PERSON}, nice to meet you."echo "$env"echo "$env.BUILD_ID"echo "$env.BUILD_NUMBER"echo "$env.BUILD_TAG"}}stage('Git') {steps {git branch: "${BRANCH}", credentialsId: 'ebe42f70-146f-4a4b-8090-eded24a77173', url: 'https://gitlab.e-ai-edu.com/zswl-developer/bi/deepbi.git' //使用gitParameter,必须有这个}}stage('Test') {agent { docker 'openjdk:8-jre' }//options {   //定义在这里这对这个stage生效//    timeout(time: 2, unit: 'SECONDS') //超时时间2秒//    timestamps()                     //所有输出每行都会打印时间戳//    retry(3)    //流水线失败后重试次数//}steps {echo 'Hello, JDK'sh 'java -version'echo "${NAME}"sh "env"}}stage('When') {when {anyOf {branch 'main' //多分支流水线,分支为才会执行。environment name: 'DEPLOY_ENV', value: 'st'}}steps {echo 'Deployinng 66666'}}}post {success {echo 'success 1234'}failure {echo 'failure 5678'}always {echo 'i will always say 999'}}
}

史上最全 Jenkins Pipeline流水线详解 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/597922.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.4.4-day09-CSS 布局模型(标准流模型、浮动模型)

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业 2024.4.4-学习笔记1 CSS 布局模型1.1 标准流1.2 CSS 浮动1.3 去除塌陷 2…

记Postman参数化

因为需要在WEB页面上处理部分数据,手动操作太慢,所以考虑使用接口方式处理,因急于使用,用Python Request的方式,写代码也来得慢,故采用Postman加外部文件参数化方式来实现。 接口请求是Post方式&#xff0c…

光伏接口转接器配合光伏规约转换器实现发电用电信息采集支持接入各个型号逆变器

1.产品概述 DAQ-GP-485PIA光伏接口转接器(以下简称转接器)是我公司针对光伏发电领域国家电网公司最新需求设计的,光伏接口转接器是配合光伏规约转换器,实现逆变器发电、用电信息采集的设备。支持锦浪、古瑞瓦特、固德威、华为、奥…

115.不同的子序列

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 7 取模。 示例 1: 输入:s "rabbbit", t "rabbit" 输出:3 解释: 如下所示, 有 3 种可以从 s 中…

[AI in sec]-039 DNS隐蔽信道的检测-特征构建

DNS隐蔽信道是什么 DCC是指利用DNS数据包中的可定义字段秘密传递信息的通道。其中,“DNS 协议”是目前网络上使用的标准域名解析协议;“可定义字段”是DNS 数据包中的 QNAME 字段、RDATA 字段及RawUDP字段。利用DNS数据包可以构建2种信道:存储信道及时间信道。DCC可以被用于…

CTF之GET和POST

学过php都知道就一个简单传参,构造payload:?whatflag得到 flag{3121064b1e9e27280f9f709144222429} 下面是POST那题 使用firefox浏览器的插件Hackbar勾选POST传入whatflag flag{828a91acc006990d74b0cb0c2f62b8d8}

通过Omnet++官网tictoc教程学习在Omnet++中构建和运行仿真 Part1Part2

introduce开始模型介绍构建项目添加 NED 文件添加C 文件添加 omnetpp.ini总结 运行仿真启动仿真程序运行仿真调试运行时错误崩溃断点调试下一事件 调试/运行 日志序列图可视化 Omnet官网 TicToc教学 introduce 在 Omnet安装完成后,samples/tictoc 中有该例子的完整…

Unity Toggle组件

Toggle Group组件 Allow Switch Off属性值为false时, 1,Toggle初始时默认会有一个被勾选(ison为true),可以自己打勾指定 2,不能取消勾选 Allow Switch Off属性值为true时, 1,Toggl…

第十四届蓝桥杯岛屿个数

题目描述: 小蓝得到了一副大小为 MN 的格子地图,可以将其视作一个只包含字符 0(代表海水)和 1(代表陆地)的二维数组,地图之外可以视作全部是海水,每个岛屿由在上/下/左/右四个方向上…

C++:类与对象(一)

hello,各位小伙伴,本篇文章跟大家一起学习《C:类与对象(一)》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 文章目录 面向对象和面向过程的区别1.类的引入2.…

调用飞书获取用户Id接口成功,但是没有返回相应数据

原因: 该自建应用没有开放相应的数据权限。 解决办法: 在此处配置即可。