DevOps之六 shell以及pipeline 命令部署
一 使用shell命启动spring boot 项目
1. 使用shell停止当前项目
#!/bin/sh
main() {
clear
pid=`ps -ef|grep xx.jar|grep -v grep|grep -v kill|awk '{print $2}'`
if [ -n ${pid} ]; then
echo 'start Kill Process --->'
kill -9 $pid
until [ -n $tempPid ]
do
echo 'Killing Process ... ...'
sleep 2
tempPid=`ps -ef|grep xx.jar|grep -v grep|grep -v kill|awk '{print $2}'`
done
echo 'killed device.jar <---'
fi
}
main $1
2. 使用shell拷贝替换要启动的Java包
#!/bin/sh target=/home/robot/device/jar/xx.jar
if [ -f $target ]; then
rm -rf $target
fi cp -rf /var/lib/jenkins/workspace/robot-device/target/xx.jar $target
3. 使用shell启动Java包
#!/bin/sh
echo "赋权限"
chmod -R /home/robot/device/jar/xx.jar
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address= -jar /home/robot/device/jar/xx.jar
#!/bin/sh
nohup sh startup-api.sh>starup-api.log >& &
二 使用shell以及docker命令 生成镜像
docker build -t haier-robot-alarm:1.0. .
docker login -u hollysys -p hollysys-xian
docker push haier-robot-alarm:1.0.
三 使用pipeline命令发布程序
node{
def mvnHome
stage('Preparation') {
// Get some code from a GitHub repository
git branch: 'stage', credentialsId: '4ea34875-7eb6-4c8b-b9b2-f437a0aa5fb2', url: 'http://172.21.46.15/HairRobot/micro-services/zuul.git'
}
stage("build-web"){
dir('/var/lib/jenkins/workspace/robot-zuul-cd/webroot') {
//sh "rm -rf /var/lib/jenkins/workspace/robot-zuul-cd/src/main/resources/static/*"
git branch: 'stage', credentialsId: '4ea34875-7eb6-4c8b-b9b2-f437a0aa5fb2', url: 'http://172.21.46.11/HairRobot/robot-management-platform-web.git'
//replace to the target hiacloud API_URL
sh returnStdout: true, script: '''sed -i "s/const baseUrl = \'http\\:\\/\\/172.21.12.25\\:9000\';/\\/\\/const baseUrl = \'http\\:\\/\\/172.21.12.25\\:9000\';/g" src/api/Ajax.js
sed -i "s/\\/\\/const baseUrl = process.API_URL;/const baseUrl = process.API_URL;/g" src/api/Ajax.js'''
sh "npm install"
sh "npm run production"
}
}
stage('Build') {
mvnHome = tool 'M3'
echo "maven home is ${mvnHome}"
echo "${env.PATH}"
def JAVA_HOME
JAVA_HOME= tool 'JDK1.8'
echo "${JAVA_HOME}"
env.JAVA_HOME=JAVA_HOME
sh "pwd"
sh "'${mvnHome}/bin/mvn' clean package -DskipTests -X"
}
stage('push docker'){
sh "docker build -t haier-robot-zuul:1.0.0 ."
sh "docker login -u hollysys -p 1234 hollysys-xian"
sh "docker push haier-robot-zuul:1.0.0"
}
}
DevOps之六 shell以及pipeline 命令部署的更多相关文章
- Linux初学:(二)Shell环境与命令基础
博客园(FOREVER_ENJOY):http://www.cnblogs.com/zyx1314/ 本文版权归作者所有:欢迎转载!请注明文章作者和原文连接 Shell是什么? 1. Shell作为应 ...
- Shell编程-项目部署(一)
由于实际工作中经常用到需要部署项目,比较麻烦,今天记录下如何利用shell脚本完成自动部署的工作,毕竟不是专业的运维出身,写的不好,还请勿喷_^o^_ 今天以部署Django项目为演示,进行部署项目, ...
- PowerShell命令部署WSP
转载:http://www.cnblogs.com/ChunLiangZhang/archive/2012/07/18/2597335.html(作者:ChunLiang) 现在可以用SharePoi ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- Azure DevOps Server 入门实践与安装部署
一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...
- Bash Shell内建命令和保留字
Bash Shell内建命令和保留字命令含义!保留字,逻辑非:不做任何事,只做参数展开.读取文件并在shell中执行它alias设置命令或命令行别名bg将作业置于后台运行bind将关键字序列与read ...
- 单行bash、shell、perl命令
主题:单行经典bash.shell.perl命令 作者:luomg 摘要: 会陆陆续的写自己工作中的常用有意思的命令,争取你能看完后就能搞定常见操作, 且尽量自少提供基本shell.perl的实现方式 ...
- Shell 的source命令
source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令. 注:该命令通常用命令“.”来替代. 如:source .bash_rc 与 . ...
- shell 后台执行命令
shell 后台执行命令方法: 1. nohup cmd & 后台会生成 nohup.out 文件 2.cmd >/路径/xx.log & 后台生成 xx. ...
随机推荐
- ODI使用流程
---恢复内容开始--- ODI流程 Topology 1.建立 源 物理结构体系 2.建立 目的 物理结构体系 步骤同上 3.建立 源 逻辑架构 4.建立 目的 逻辑架构 步骤同上 Designer ...
- c#采用emit将DataTable转List
前面已经说了List转DataTable,也整理了代码. 现在转回来说说DataTable转List. 先举一个例子 public class Person { public int Age{get; ...
- Django学习笔记6(iframe、外键插入)
1.{%include 'index.html'%i} 平时很好用的iframe在django里面的不是很好用 django里面提供了{%include 'index.html'%i}的方式来取代了i ...
- 追溯了解Ubuntu之安装操作步骤(贰)
1.首先从官网中下载32位或64位安装程序: 2.下载安装包后不需要解压:直接双击即可:在里面可以看到wubi.exe应用程序,双击打开: 如果之前已经安装过需要卸载重新安装: 3.目标驱动器是安装的 ...
- sqli-labs (less-8-less-10)
盲注需要掌握一些MySQL的相关函数:length(str):返回str字符串的长度.substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回.注意这里的pos ...
- MySQL事务异常
在做大屏系统的时候,遇到十分奇怪的问题,同样的代码,测试环境插入与更新操作正常,但是上了生产环境之后,插入与更新不生效, 插入数据的时候,主键会自增,但是查询表中没有数据,同样一个@Transacti ...
- angular5学习笔记 路由通信
首先在路由字典中,接收值的组件中加上:/:id 在发送值的组件中,发送值的方式有几种. 第一种:<a routerLink="/detail/1">新闻详情1</ ...
- 20155306 实验一《Java开发环境的熟悉》实验报告
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1. ...
- Deepin Linux下的Metasploit安装及优化
前言 本文不限于Deepin Linux系统,类似的在ubuntu debian xubuntu等血统类似的Linux发行版中都可以使用这里方法来安装原生的metasploit 配置Kali Linu ...
- 2017-2018-1 20155338 《信息安全系统设计基础》第5周加分项Mybash的实现
2017-2018-1 20155338 <信息安全系统设计基础>第5周加分项Mybash的实现 使用fork,exec,wait实现mybash 一.fork函数 定义和理解:fork( ...