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

Jenkins流水线pipeline--基于上一章的工作流程

1流水线部署

1.流水线文本名Jenkinsfile,将流水线放入gitlab远程仓库代码里面

2pipeline脚本

Jenkinsfile文件内容

pipeline {agent anyenvironment {key="value"}stages {stage("拉取git仓库代码") {steps {deleteDir()checkout scmGit(branches: [[name: "$tag"]], extensions: [], userRemoteConfigs: [[url: 'http://192.168.88.120:8929/root/test.git']])echo '拉取git仓库代码 --SUCCESS'}}stage("通过maven构建项目") {steps {sh '/var/jenkins_home/maven/bin/mvn clean package -DskipTests'echo '通过maven构建项目 --SUCCESS'}}stage("通过sonarqube做代码质量检测") {steps {sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner  -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.login=2f0c3fe097389f621ebe683db16dc83931cb3502  -Dsonar.projectKey=${JOB_NAME}   -Dsonar.java.binaries=./target/'echo '通过sonarqube做代码质量检测 --SUCCESS'}}stage("通过docker制作自定义镜像") {steps {sh '''mv target/*.jar  docker/cd docker/docker build -t ${JOB_NAME}:$tag ./'''echo '通过docker制作自定义镜像 --SUCCESS'}}stage("将自定义镜像推送到harbor仓库") {steps {sh '''docker login -u admin -p Harbor12345 192.168.88.121:80docker tag ${JOB_NAME}:$tag 192.168.88.121:80/repo/${JOB_NAME}:$tagdocker push 192.168.88.121:80/repo/${JOB_NAME}:$tag'''echo '将自定义镜像推送到harbor仓库 --SUCCESS'}}stage("远程仓库下载并启动容器") {steps {sshPublisher(publishers: [sshPublisherDesc(configName: 'test', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'docker.sh 192.168.88.121:80 repo ${JOB_NAME}  $tag  $container_port  $host_port', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])echo '远程仓库下载并启动容器 --SUCCESS'}}}}

http://www.lryc.cn/news/360601.html

相关文章:

  • 比较Rust和Haskel
  • RedisTemplate的Long类型使用increment自增报错
  • 【代码随想录训练营】【Day 36】【贪心-3】| Leetcode 1005, 134, 135
  • 2.7HDR与LDR
  • YOLOv5改进(五)-- 轻量化模型MobileNetv3
  • 用户流失分析:如何使用Python训练一个用户流失预测模型?
  • 【计算机毕设】基于SpringBoot的社区医院信息平台设计与实现 - 源码免费(私信领取)
  • LLM——深入探索 ChatGPT在代码解释方面的应用研究
  • Android中ANR的分析和解决
  • Kotlin 类
  • Forth Python语言:深度解析其四维、五维、六维与七维之奥秘
  • MySQL--复合查询
  • 前端项目开发,3个HTTP请求工具
  • Java_Mybatis
  • 2024HW|常见红队使用工具
  • Redisson集成SpringBoot
  • 设计模式(十二)行为型模式---模板方法模式
  • 【气象常用】剖面图
  • LabVIEW高低温试验箱控制系统
  • Flutter 中的 SliverFillViewport 小部件:全面指南
  • 明日周刊-第12期
  • 算法之美阅读笔记
  • 新手学习STM32还是ESP32
  • 关于vlookup的第一个参数的个人理解
  • vector实现后半部分
  • Maven配置
  • python 第一天
  • Day03 左侧菜单数据绑定
  • JavaScript笔记三-JavaScript常用对象
  • 最新的CleanMyMac X4.15.4中文破解版新功能介绍及CleanMyMac 安装激活指南