在jenkins上安装salt-master,

pipeline{
agent{
      node{
               label 'master'
               customWorkspace '/srv/salt/xxx/result'
         }
}
parameters {
       choice(name: 'app_name', choices: ['xxx-client', 'xx-server', 'xx'], description: 'app_name')
       choice(name: 'server_name', choices: ['10.83.64.143'], description: 'server_name')
       string(name: 'version',description: 'branch')
  }
environment {
        APP_NAME = "${params.app_name}"
}
 tools {
        maven 'M3'
        jdk 'jdk1.8.0_92'
  }
 stages{
       stage('get code'){
             steps{
                     checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '',                      filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: 'svnchenbin', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: "https://10.83.32.2/svn/xx/xxx/branches/${params.version}/xx"]], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])
            }
      }
       stage('build'){
            parallel {
                   stage('build-xx'){
                         when { environment name: 'APP_NAME', value: 'xxxx' }
                        steps{
                                sh 'mvn clean install -Dmaven.test.skip=true -f xxx/pom.xml'
                       }
                  }
                  stage('build-xx-x-server'){
                           when {
                          anyOf{
                                 environment name: 'APP_NAME', value: 'xx-client'
                                 environment name: 'APP_NAME', value: 'xx-server'
                            }
                 }
                        steps{
                                  sh 'mvn clean install -Dmaven.test.skip=true -f pom.xml'
                        }
               }
             }
        }
          stage('deploy'){
                steps{
                      sh "/usr/local/python3/bin/salt $server_name state.sls xxx/$app_name"
                   }
          }
}
post {
           always {
                     echo "Send notifications for result: ${currentBuild.currentResult}}"
                     sh '/usr/local/python3/bin/salt $server_name cmd.run "ps -ef|grep $app_name|grep -v grep"'
            }
      }

}

转载于:https://www.cnblogs.com/xiaopaipai/p/10177808.html

jenkins+saltstack+pipeline 部署springcloud 多模块jar包相关推荐

  1. Linux入门第四集!Jar包的入门、使用、部署!怎么打Jar包?

    Linux入门第四集!Jar包的入门.使用.部署!怎么打Jar包? 一.首先要确保JDK8已经安装成功 Linux入门第三集!JDK8的Linux版本资源分享!jdk-8u301-linux-x64. ...

  2. Maven依赖的Scope去除部署不需要的jar 包(打包)

    2019独角兽企业重金招聘Python工程师标准>>> Maven依赖的Scope去除部署不需要的jar 包(打包) 博客分类: java maven <dependency& ...

  3. 打包部署后无法读取jar包里的文件(实测可行,Java中读取jar包中的文件)

    打包部署后无法读取jar包里的文件 Java中读取jar包中的文件 linux中无法读取jar包中的内容(windows可以的!),如何解决 一.背景 项目中免不了需要读取文件,如果文件用绝对路径读取 ...

  4. Jenkins自动部署测试环境之jar包自动部署

    在我们的日常工作中,可能经常会遇到以下问题: 1.测试环境是由开发去更新的,当开发忙于改bug的时候,测试环境更新频率比较低,问题不能得到及时的验证 2.频繁的找开发去更新环境的话 ,耽误别人的工作, ...

  5. jar包与war包部署的区别及jar包部署的一个路径访问问题

    1.jar包与war包部署的区别 什么是jar包? jar包是类的归档文件,jar文件格式以流行的ZIP文件格式作为基础,和ZIP文件不一样的是,JAR文件不仅仅用来进行压缩和发布,还用来部署和封装库 ...

  6. jenkins jar包上传maven仓库

    1      Jenkins 编译后部署至 Maven 仓库 jenkins编译后构件(如:jar包)部署至maven仓库需修改以下内容:maven 仓库配置:项目 pom 文件:本地仓库的 sett ...

  7. Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)

    场景 CentOS7中使用Dockerfile部署后台jar包: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119818808 ...

  8. CentOS中使用Dockerfile部署带websocket的SpringBoot的jar包

    场景 CentOS7中使用Dockerfile部署后台jar包: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119818808 ...

  9. jenkins构建时,从国内maven私服下载jar包失败

    Plugin org.apache.maven.plugins:maven-compiler-plugin:2.0.2 or one of its dependencies could not be等 ...

最新文章

  1. python opencv 拼接 连接 显示 图片
  2. java字符_Java String 类
  3. 【转载】知乎答案----孙志岗----Google 发布了程序员养成指南,国内互联网巨头是否也有类似的指南和课程推荐...
  4. Linux——POSIX有名信号量
  5. 一篇文章带你解析,乐观锁与悲观锁的优缺点
  6. console application_灵活使用 console 让 js 调试更简单
  7. php字符集转换,php字符集转换
  8. python3.6教程案例分析_python 3.6 --实战Scrapy
  9. boolean怎么用_用 C++ 和 Java 写算法,差别大吗?(文末有福利)
  10. 机器学习相关博客收藏(KL 散度、信息熵、谱聚类、EM、Isolation Kernel、iForest、元学习、小样本学习、课程学习)
  11. 雅虎十四条性能优化原则
  12. PIC单片机应用开发实践教程(一):MPLAB X IDE 开发环境安装
  13. ZOJ 3987 Numbers(Java枚举)
  14. [BZOJ1864][CODEVS2462]三色二叉树
  15. 为了软银的万亿物联网 ARM取消了一笔企业预授权费用
  16. 仿网易新闻顶部菜单html,iOS仿网易新闻滚动导航条效果
  17. 基于单片机的智能小区安防系统毕业设计
  18. 图像检测与处理技术在汽车牌照中的运用
  19. c#五子棋实验报告_基于c#的五子棋游戏的设计与实现毕业论文.doc
  20. 今天决定把java基础再重头学习一遍

热门文章

  1. 自动驾驶数据集_奥迪推出大型自动驾驶数据集A2D2
  2. C++为什么空格无法输出_那些C/C++程序员该具备的32个编程修养习惯!
  3. php调用jssdk转发_php一个文件搞定微信jssdk配置
  4. Python-Matplotlib可视化(番外篇)——Matplotlib中的事件处理详解与实战
  5. sizeof运算符_C编程中的sizeof()运算符
  6. python 字符串子串_Python字符串子字符串
  7. java.sql.Date – Java SQL日期
  8. iOS警报– UIAlertController
  9. C#中xml序列化域反序列化
  10. input文本框不可编辑的方法