当前位置:   article > 正文

【云效】使用流水线进行应用部署_csdn 云效

csdn 云效

前言

流水线」,又名「Flow」,是阿里云「云效」产品矩阵中的一款企业级自动化研发交付工具。

它提供了灵活易用的持续集成、持续验证和持续发布功能,旨在帮助企业高质量、高效率地交付业务。

流水线充当了持续交付的工具,通过构建自动化、集成自动化、验证自动化和部署自动化的过程,实现了从开发到上线的持续交付。


一、部署应用步骤

1、创建流水线

方法一:打开 代码管理,选择代码库:

在这里插入图片描述

然后在右侧选择对应的代码库点击进去,选择流水线:

在这里插入图片描述

在右侧点击创建流水线。

方法二:打开 流水线,选择我的流水线:

在这里插入图片描述

在右侧点击新建流水线。

选择模板进行创建:

在这里插入图片描述

2、编辑流水线源

选择代码源,我的代码库就是codeup,也可以选择别的代码源。

在这里插入图片描述

选择服务连接,如果没有就新建服务连接。

然后,选择正确的代码仓库和需要部署的分支。

工作目录可以为默认的目录。

在这里插入图片描述

点击右上角的仅保存。

3、编辑java构建上传

在这里插入图片描述

展开任务步骤里面的Java构建,选择正确的JDK版本和Maven版本。

展开任务步骤里面的构建物上传,其它默认,打包路径可以修改为自己实际的项目路径。

在这里插入图片描述

4、编辑主机部署

选好制品,然后新建主机组:

在这里插入图片描述
在这里插入图片描述

我是选择的阿里云ECS,按步骤走下去。

然后写好下载路径(我一般放在jar包目录的上一层目录中)。

然后是部署脚本,我是启的两个进程,我的脚本如下:

set -e;
if [ -f "/home/test/test-api/test-api.sh" ]; then /home/test/test-api/test-api.sh stop prod8094 8094; fi;

mkdir -p /home/test/test-api;
tar xf /home/test/test-api.tgz -o -C /home/test/test-api;
chmod +x  /home/test/test-api/test-api.sh;

/home/test/test-api/test-api.sh restart prod8094 8094;

echo "Sleep for a while to wait the 1st instance is ready."

i=40
while test $i -ge 0; do
sleep 1
echo $((i--))
done


echo "Wake up, restart the 2nd instance..."

if [ -f "/home/test/test-api/test-api.sh" ]; then /home/test/test-api/test-api.sh stop prod8095 8095; fi;
/home/test/test-api/test-api.sh restart prod8095 8095;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

test-api.sh文件内容:

SERVICE_DIR=/home/test/test-api
SERVICE_NAME=test-api
SPRING_PROFILES_ACTIVE=$2

case "$1" in
    start)
        procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | grep $3 | awk '{print $2}'`
        if [ "${procedure}" = "" ];
        then
            echo "start ..."
            if [ "$2" != "" ];
            then
                SPRING_PROFILES_ACTIVE=$2
            fi
            echo "spring.profiles.active=${SPRING_PROFILES_ACTIVE}"
            exec nohup java -Dfile.encoding=utf-8 -jar ${SERVICE_DIR}/${SERVICE_NAME}\.jar --spring.profiles.active=${SPRING_PROFILES_ACTIVE} >${SERVICE_DIR}/log.log 2>&1 &
            echo "start success"
        else
            echo "${SERVICE_NAME} is start"
        fi
    ;;
    stop)
        procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | grep $3 | awk '{print $2}'`
        if [ "${procedure}" = "" ];
        then
            echo "${SERVICE_NAME} is stop"
        else
            kill -9 ${procedure}
            sleep 1
            argprocedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | grep $3 | awk '{print $2}'`
            if [ "${argprocedure}" = "" ];
            then
                echo "${SERVICE_NAME} stop success"
            else
                kill -9 ${argprocedure}
                echo "${SERVICE_NAME} stop error"
            fi
        fi
    ;;
    restart)
        $0 stop
        sleep 1
        $0 start $2
    ;;
    *)
        echo "usage: $0 [start|stop|restart] [dev|test|prod]"
    ;;
esac

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

把test-api.sh文件,放到服务器对应的目录/home/test/test-api里。

注意要给此文件访问权限:

chmod 777 /home/test/test-api/test-api.sh
  • 1

配置好Nginx,然后就运行流水线吧。搞定!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/799401
推荐阅读
相关标签
  

闽ICP备14008679号