当前位置: 首页 > news >正文

Jenkins之pipeline

安装插件

  • Pipeline

在这里插入图片描述

  • Pipeline: Stage View Plugin

在这里插入图片描述

创建任务

在这里插入图片描述

配置

  • demo

在这里插入图片描述

  • 开始实践
    在这里插入图片描述
    在这里插入图片描述

  • 拉取git仓库代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[url: 'http://178.119.30.133:8929/root/mytest.git']])
  • 通过SonarQube做质量检测
    在这里插入图片描述
sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.login=6c99d1bafedaa4bad18fd63fc9975515fbeb4eab'
  • 通过Docker制作自定义镜像

在这里插入图片描述

sh 'docker build -t ${JOB_NAME}:$tag .'
  • 将自定义镜像推送到Harbor

在这里插入图片描述

sh '''docker login -u $harborUser -p $harborPasswd $harborAddress
docker tag  $JOB_NAME:$tag  $harborAddress/$harborRepo/$JOB_NAME:$tag
docker push $harborAddress/$harborRepo/$JOB_NAME:$tag'''
  • 通过Publish Over SSH通知目标服务器

在这里插入图片描述

sshPublisher(publishers: [sshPublisherDesc(configName: 'test', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'deploy.sh $harborAddress $harborRepo $JOB_NAME $tag $port ', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

在这里插入图片描述

  • Jenkinsfile
pipeline {agent anyenvironment {harborUser = 'admin'harborPasswd = 'Harbor12345'harborAddress = '178.119.30.133:80'harborRepo = 'repo'}stages {stage('拉取git仓库代码') {steps {checkout scmGit(branches: [[name: '$tag']], extensions: [], userRemoteConfigs: [[url: 'http://178.119.30.133:8929/root/mytest.git']])}}stage('通过SonarQube做质量检测') {steps {sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.login=6c99d1bafedaa4bad18fd63fc9975515fbeb4eab'}}stage('通过Docker制作自定义镜像') {steps {sh 'docker build -t ${JOB_NAME}:$tag .'}}stage('将自定义镜像推送到Harbor') {steps {sh '''docker login -u $harborUser -p $harborPasswd $harborAddressdocker tag  $JOB_NAME:$tag  $harborAddress/$harborRepo/$JOB_NAME:$tagdocker push $harborAddress/$harborRepo/$JOB_NAME:$tag'''}}stage('通过Publish Over SSH通知目标服务器') {steps {sshPublisher(publishers: [sshPublisherDesc(configName: 'test', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "deploy.sh $harborAddress $harborRepo $JOB_NAME $tag $port", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])}}}
}
http://www.lryc.cn/news/281562.html

相关文章:

  • 创意交融:集成自定义报表和仪表盘设计器,实现图标替换
  • Mybatis 40_resultMap基础和@Results注解
  • 【蓝桥杯选拔赛真题31】C++数位求和 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • 牛客网-css继承属性
  • OpenCV-19图像的仿射变换
  • 数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)二
  • 第七在线荣获百灵奖 Buylink Awards 2023零售圈年度卓越服务商品牌
  • 通过myBatis将sql语句返回的值自动包装成一个java对象(3)
  • 基于SSM的驾校信息管理系统设计与实现
  • 矩阵行列式的四大应用
  • 【小笔记】时序数据分类算法最新小结
  • 使用Python+pygame实现贪吃蛇小游戏
  • SpringBoot 全局异常统一处理:BindException(绑定异常)
  • ucloud轻量云(wordpress)配置ssl
  • 电脑/设备网络共享给其他设备上网
  • vue之虚拟滚动
  • Redis学习指南(11)-Redis的有序集合数据类型介绍
  • Spring的纯注解配置
  • numpy 筛选多段数据
  • 【Kotlin】协程的字节码原理
  • 区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测
  • 基于深度学习的实例分割的Web应用
  • 20240115如何在线识别俄语字幕?
  • Flink 处理函数(1)—— 基本处理函数
  • Linux系统下编译MPlayer
  • 事务的ACID属性是什么?为什么它们很重要?
  • 计算机毕业设计 基于Java的手机销售网站的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Redis相关命令详解及其原理
  • go语言中的GoMock
  • DIFFWAVE: A VERSATILE DIFFUSION MODEL FOR AUDIO SYNTHESIS (Paper reading)