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

目录

  • 前言
  • 一、部署应用步骤
    • 1、创建流水线
    • 2、编辑流水线源
    • 3、编辑java构建上传
    • 4、编辑主机部署

前言

「流水线」,又名「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--))
doneecho "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;

test-api.sh文件内容:

SERVICE_DIR=/home/test/test-api
SERVICE_NAME=test-api
SPRING_PROFILES_ACTIVE=$2case "$1" instart)procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | grep $3 | awk '{print $2}'`if [ "${procedure}" = "" ];thenecho "start ..."if [ "$2" != "" ];thenSPRING_PROFILES_ACTIVE=$2fiecho "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"elseecho "${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}" = "" ];thenecho "${SERVICE_NAME} is stop"elsekill -9 ${procedure}sleep 1argprocedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | grep $3 | awk '{print $2}'`if [ "${argprocedure}" = "" ];thenecho "${SERVICE_NAME} stop success"elsekill -9 ${argprocedure}echo "${SERVICE_NAME} stop error"fifi;;restart)$0 stopsleep 1$0 start $2;;*)echo "usage: $0 [start|stop|restart] [dev|test|prod]";;
esac

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9620.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg学习记录

1、对图片进行裁剪 ffmpeg -i input.jpg -vf cropiw/3:ih:20:0 caijian.jpg PS: crop100:100:12:34 相同效果: cropw100:h100:x12:y34 2、视频增加文字水印 使用drawtext滤镜进行增加水印 参数 类型 说明 text 字符串 文字 textfile 字符串 文字文件 …

基于LLAMA-7B的lora中文指令微调

目录 1. 选用工程2. 中文llama-7b预训练模型下载3. 数据准备4. 开始指令微调5. 模型测试 前言: 系统:ubuntu18.04显卡:GTX3090 - 24G (惨呀,上次还是A100,现在只有3090了~) (本文旨在…

【Python】基于Python的机器学习分类的模型选择:交叉验证和模型质量评估

目录 1 简介2 思路分解与说明3 完整代码 1 简介 最近完成一个工作,就基于一些表格化的数据进行机器学习分类。 由于分类是研究中的关键步骤,所以首先要选择到底哪个模型适合我们的分类任务。 比较传统且经典的选择方法就是用交叉验证。 交叉验证是什么可…

传输控制协议 TCP

文章目录 一、TCP报文格式1.报头格式2.TCP最大段长度 MSS 二、TCP连接建立与释放1.连接建立:三次握手2.报文传输3.连接释放:四次挥手4.保持定时器与时间等待定时器 三、TCP差错重传1.字节流状态分类与滑动窗口(发送)① 滑动窗口两…

Spring Boot中的Elasticsearch自动配置

Spring Boot中的Elasticsearch自动配置 Elasticsearch是一个基于Lucene的分布式全文搜索引擎,它在搜索、分析等方面具有出色的表现。Spring Boot中的Elasticsearch自动配置为我们提供了一种快速集成Elasticsearch的方式,使我们可以在Spring Boot应用程序…

【探索 Kubernetes|作业管理篇 系列 16】离线业务 Job、CronJob

前言 大家好,我是秋意零。 在上一篇中,我们讲解了 DaemonSet 控制器,相信你以及理解了其的工作过程,分为三部。一是,获取所有 Node 节点中的 Pod;二是,判断是否有符合 DaemonSet 管理的 Pod&a…

Linux基础工具|C/C++编译器:gcc/g++的使用

1.基础使用 gcc是专门用来编译C语言的编译器,而g是编译C的编译器(也可以编译C语言,毕竟C语言兼容C)。Linux下gcc默认使用8字节的指针。 下载安装:gcc的安装指令“sudo yum install gcc”(在Linux里大部分…

固态硬盘优化设置

文章目录 前言关闭Windows Search禁用系统保护(不建议)不建议禁用系统保护原因 关闭碎片整理提升固态硬盘速度开启TRIM合理使用固态硬盘的容量正确关机关闭开机自启 前言 提示:这里可以添加本文要记录的大概内容: 电脑配备固态硬…

大数据Doris(五十六):RESOTRE数据恢复

文章目录 RESOTRE数据恢复 一、RESTORE数据恢复原理 二、RESTORE 数据恢复语法 三、RESOTRE数据恢复案例 1、在 Doris 集群中创建 mydb_recover 库 2、执行如下命令恢复数据 3、查看 restore 作业的执行情况 四、注意事项 RESOTRE数据恢复 Doris 支持BACKUP方式将当前…

1.3 Metasploit 生成SSL加密载荷

在本节中,我们将介绍如何通过使用Metasploit生成加密载荷,以隐藏网络特征。前一章节我们已经通过Metasploit生成了一段明文的ShellCode,但明文的网络传输存在安全隐患,因此本节将介绍如何通过生成SSL证书来加密ShellCode&#xff…

BUU [网鼎杯 2020 青龙组]AreUSerialz

BUU [网鼎杯 2020 青龙组]AreUSerialz 先看题目&#xff0c;是个php反序列化。源码如下。 <?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler {protected $op;protected $filename; protected $content;function __construct(…

openwrt使用记录

背景&#xff1a; 平时在vmware中做实验时候&#xff0c;经常需要在不同的机器上下载一些github上的项目进行调试&#xff0c;之前解决方案是在路由器层小米ac2100上装openwrt&#xff0c;试用一番发现太卡了。放弃&#xff0c;这次在vmware中安装作为小米ac2100的旁路由 规划…