DevOps之六 shell以及pipeline 命令部署
2024-10-01 09:44:58
一 使用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"
}
}
最新文章
- WPF 程序Form自的控件自适应方式之一
- Eclipse中的Web项目自动部署到Tomcat(转)
- 多边形背景生成工具推荐-Trianglify
- 【获取图像处理源码以及编译过程】在window下make。
- Codeforces 552E - Vanya and Brackets【表达式求值】
- 虚拟化之docker安装篇
- 三种LVS负载均衡技术的优缺点----负载均衡调度算法
- 测试framebuffer
- 为linux安装xen-tools提示/dev/xvdd does not exist
- JAVA核心技术I---JAVA基础知识(命令行)
- 数据分析:基于Python的自定义文件格式转换系统
- Mac10.13 telnet不能用的解决方法
- CentOS 7 上安装(LAMP)服务 Linux,Apache,MySQL,PHP
- 如何通过Spring读取Properties文件
- MyBatis 学习记录6 TypeHandler
- flask 项目 部署服务器,package安装问题(无外网链接)
- 使用bottle进行web开发(6):Response 对象
- 如何移除inline-block元素之间的空白
- Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:...
- CentOS 7 安装 Git