在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"'
            }
      }

}

jenkins+saltstack+pipeline 部署springcloud 多模块jar包的更多相关文章

  1. Jenkins使用pipeline部署服务到远程服务器

    写这篇文章是对之前搭建Jenkins做的修改和完善,让jenkins更好的为我们服务 Docker搭建Jenkins服务 使用过程中遇到的问题: 为方便部署,打算将jenkins用到的jdk11.ma ...

  2. Maven的assembly插件实现自定义打包部署(包含依赖jar包)

    微服务必备 优点: 1.可以直接导入依赖jar包 2.可以添加插件启动 .sh 文件 3.插件的配置以及微服务的统一打包方式 1.首先我们需要在pom.xml中配置maven的assembly插件 & ...

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

    <dependency> < groupId>javax.servlet</groupId> < artifactId>jsp-api</arti ...

  4. 利用jenkins+saltstack+sh部署项目到多台服务器

    jenkins的配置(这里作用只是当做界面使用,利用它来管理执行salt命令,这里以 shop.51ekt.com 这个项目目录为例) 1.利用参数化构建项目,来实现是发布还是回滚操作: 2.构建操作 ...

  5. k8s + docker + Jenkins使用Pipeline部署SpringBoot项目时Jenkins错误集锦

    背景 系统版本:CentOS7 Jenkins版本:2.222.1 maven版本:apache-maven-3.6.3 Java版本:jdk1.8.0_231 Git版本:1.8.3.1 docke ...

  6. jenkins构建maven聚合项目,发布jar包,可配置单独发布某个模块

    https://blog.csdn.net/qq_42703181/article/details/109643330

  7. 网站日志流量分析采集(LuaJIT系统环境部署-node03,相关jar包自己手动上传)

    注:/usr/local/src 是源码包路径,可以自己更改 服务器中安装依赖 yum -y install gcc perl pcre-devel openssl openssl-devel 上传 ...

  8. jenkins 流水线自动化部署 手动下载安装插件包

    如果有些插件不能通过可选插件安装,可以进行选择高级并上传插件包,插件包链接地址为:http://updates.jenkins-ci.org/download/plugins/ 同时在高级中可以更换下 ...

  9. 十一、Docker搭建部署SpringCloud微服务项目Demo

    环境介绍 技术选型:SpringCloud&SpringCloud Alibaba&Docker 微服务模块划分: 员工模块:ems-employees 部门模块:ems-depart ...

随机推荐

  1. delphi http请求用到的编码方式

    uses HttpEncode: HttpEncode(AnsiToUtf8('***'))

  2. [题解] LuoguP3768 简单的数学题

    Description 传送门 给一个整数\(n\),让你求 \[ \sum\limits_{i=1}^n \sum\limits_{j=1}^n ij\gcd(i,j) \] 对一个大质数\(p\) ...

  3. Linux gcc(ar命令)打包库到另一个库中的另外一种方法

    最近的项目中需要在Libcurl写一个wrapper,最好的办法是把我的wrapper和libcurl包在一起,做一个新的静态库 但是很遗憾,直接用以下命令产生的libmywrapper.a 是不能用 ...

  4. log4j1-x使用

    目录 代码 配置 编译 测试 代码: import org.apache.log4j.*; public class Client{ public static void main(String[] ...

  5. [JZOJ]3413.KC的瓷器

    Description KC来到了一个盛产瓷器的国度.他来到了一位商人的店铺.在这个店铺中,KC看到了一个有n(1<=n<=100)排的柜子,每排都有一些瓷器,每排不超过100个.那些精美 ...

  6. 八十七、SAP中ALV事件之一,事件的声明

    一.我们双击"REUSE_ALV_GRID_DISPLAY",来到SE37界面, 二,来到这儿,点击SLIS_T_EVENT, 三.可以看到SLIS_T_EVENT的定义,有一个n ...

  7. 如何让手游更省带宽,耗电量更少?TBR渲染架构解析!

    如何让手游更省带宽,耗电量更少?渲染或是其中一个可突破的点.本文中,腾讯游戏学院专家Hailong将从为大家解析TBR渲染架构的特点. 什么是TBR? 全称是Tile Based Rendering, ...

  8. Java中的package和Import关键字的作用

    一.package关键的作用 1.包的概念 package翻译为包,本质上就是一个文件夹,通过包组织项目结构的过程,就是通过包对应的文件夹管理.java和.class文件的过程. 2.包的作用 通过包 ...

  9. JAVA基本数据类型和注释

    一.注释 1.注释的概念 注释是程序中给人看的提示信息,会被编译器忽略:在程序编译和执行过程中不会有任何影响,仅仅在代码阅读时提供提示信息. 2.注释的形式 基本语法://注释的内容   a.行注释 ...

  10. SpringMVC中 controller方法返回值

    1)ModelAndView @RequestMapping(value="/itemEdit") public ModelAndView itemEdit(){ //创建模型视图 ...