Devops关键工具及技术(五)—基于Pipeline的Bash脚本部署

在上一篇文章Devops关键工具及技术(四)—基于Pipeline的SonarQube静态代码扫描中,我们在持续集成的基础上加上了静态代码扫描,并利用Pipeline对之前Spring-boot的工程进行了代码扫描。并且在SonarQube中看到了代码中各个指标的一些信息。代码工程Github地址为:https://github.com/zbbkeepgoing/springboot-demo

接下来我们将会为Pipeline加上部署的Stage,部署采用sh脚本进行部署。后续我们将会采用Ansible的自动化部署。

Sh脚本

沿用之前的Spring-boot工程,经过持续集成后,我们将会得到maven构建后的一个jar包,这个jar即是工程的启动jar包。而我们需要把这个jar部署到另外一台机器上,实现从持续集成、代码静态扫描、以及部署的整个过程 。
首先我们看一下sh脚本的内容:

#!/bin/bash
id=$(ps -ef|grep sample.jar|grep -v grep|awk '{print $2}')   //查找出名称中sample.jar的进程
if [ ! $id ]; then echo "process not started"; else kill -9 $id;fi    //如果存在,则kill掉
sleep 2s;   //sleep 2秒
nohup java -jar /tmp/sample.jar  > nohup.out &   //java -jar 启动jar
Pipeline

我们继续沿用上一篇文章Devops关键工具及技术(四)—基于Pipeline的SonarQube静态代码扫描中的Pipeline,并在其后面加上部署的Stage。

Pipeline内容

内容也可以在Github中找到
https://github.com/zbbkeepgoing/pipeline-sample

pipeline {
    agent none 
    stages {
       stage('Preparation') { 
            agent { node { label 'master' } }
            steps {
               checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'binbin', url: 'https://github.com/zbbkeepgoing/s
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值