jenkins+saltstack+pipeline 部署springcloud 多模块jar包
在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包的更多相关文章
- Jenkins使用pipeline部署服务到远程服务器
写这篇文章是对之前搭建Jenkins做的修改和完善,让jenkins更好的为我们服务 Docker搭建Jenkins服务 使用过程中遇到的问题: 为方便部署,打算将jenkins用到的jdk11.ma ...
- Maven的assembly插件实现自定义打包部署(包含依赖jar包)
微服务必备 优点: 1.可以直接导入依赖jar包 2.可以添加插件启动 .sh 文件 3.插件的配置以及微服务的统一打包方式 1.首先我们需要在pom.xml中配置maven的assembly插件 & ...
- Maven依赖的Scope去除部署不需要的jar 包(打包)
<dependency> < groupId>javax.servlet</groupId> < artifactId>jsp-api</arti ...
- 利用jenkins+saltstack+sh部署项目到多台服务器
jenkins的配置(这里作用只是当做界面使用,利用它来管理执行salt命令,这里以 shop.51ekt.com 这个项目目录为例) 1.利用参数化构建项目,来实现是发布还是回滚操作: 2.构建操作 ...
- 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 ...
- jenkins构建maven聚合项目,发布jar包,可配置单独发布某个模块
https://blog.csdn.net/qq_42703181/article/details/109643330
- 网站日志流量分析采集(LuaJIT系统环境部署-node03,相关jar包自己手动上传)
注:/usr/local/src 是源码包路径,可以自己更改 服务器中安装依赖 yum -y install gcc perl pcre-devel openssl openssl-devel 上传 ...
- jenkins 流水线自动化部署 手动下载安装插件包
如果有些插件不能通过可选插件安装,可以进行选择高级并上传插件包,插件包链接地址为:http://updates.jenkins-ci.org/download/plugins/ 同时在高级中可以更换下 ...
- 十一、Docker搭建部署SpringCloud微服务项目Demo
环境介绍 技术选型:SpringCloud&SpringCloud Alibaba&Docker 微服务模块划分: 员工模块:ems-employees 部门模块:ems-depart ...
随机推荐
- iOS Framework制作流程
1.新建工程选择iOS —> Cocoa Touch Framework 2.进入创建好的工程删除掉自带的工程同名头文件 3.添加所需文件 4.TARGETS —> Build Setti ...
- GDI4
前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows画图的工具.个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够, ...
- delphi保存和提取ini文件信息
procedure TLoginForm.FormShow(Sender: TObject);var ini:TIniFile; name:string;begin //实现动态提取数据库的登录用户名 ...
- Google的搜索API的Delphi封装
这个东西实现了已经有一段时间了,那个时候谷歌还没有退出中国内地呢!而现在呢,谷歌都退了有一些日子了!紧以此纪念一番! 话说谷歌API,我相信很多人应该都知道!不晓得在实际应用中,用的人多不多(我说的不 ...
- A convenient way to recognize and handwrite multidimensional arrays in Numpy
As a new learner of Numpy, it is very common to be confused by the form of array, braces nested in b ...
- python用于web题里写解密脚本
题源自bugku里的WEB3 选择选项让他停止,F12后出现如下代码,一看数字就知道是ASC: 复制出来,写pyhton脚本如下,在编译器里跑一下 s='KEY{J2sa42ahJK-HS11III} ...
- 吴裕雄--天生自然java开发常用类库学习笔记:System类
public class SystemDemo01{ public static void main(String args[]){ long startTime = System.currentTi ...
- Java 文件
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...
- 适配器之SimpleAdapter
前言: 在写适配器时,SimpleAdapter会经常使用到,虽然他比ArrayAdapter复杂,但是也提供了更多的功能 正文: 我们接下来先从SimpleAdapter中较为简单的显示两行文本开始 ...
- Python基础笔记:函数式编程:高阶函数、返回函数、匿名函数
高阶函数 高阶函数:一个函数可以接收另一个函数作为参数 或 一个函数可以返回一个函数作为返回值,这种函数称之为高阶函数. #函数 add 接收 f 函数作为参数 >>> def ad ...