阿里云效产品【流水线Flow】企业项目代码一件发布各个云服务器
创始人
2024-04-24 01:18:58

文章目录

  • 前言
  • 一、准备项目代码
    • 1.默认的项目
    • 2.浏览器访问
  • 二、使用步骤
    • 1.进入工作台
    • 2.创建流水线
    • 3.代码源
    • 4.代码扫描
    • 5.单元测试
    • 6.代码构建
    • 7.主机部署
    • 8.部署脚本
  • 三、运行测试
    • 1.运行流水线
    • 2.测试报告
    • 3.访问项目
  • 总结


前言

「流水线」,又名「Flow」,是一款企业级、自动化的研发交付流水线, 提供灵活易用的持续集成、持续验证、 持续发布功能,帮助企业高质量、高效率的交付业务。

提示:上面简述来自:阿里云。个人理解就是流水线Flow 自动化部署,类似于 Jenkins,是开发中的一种可持续集成工具,代码检测,支持多种语言部署,废话不多说不说,上操作。


在这里插入图片描述

下面开始演示从0 - 1 项目部署发布整个环节

一、准备项目代码

1.默认的项目

  • Codeup-Demo在这里插入图片描述
  • 拉取代码【不会的可以看这一篇】阿里云效产品【代码管理Codeup】企业项目代码管理在这里插入图片描述
  • 看到代码是一个SpringBoot项目
  • 项目启动,默认端口【8080】

2.浏览器访问

  • 浏览器访问 http://localhost:8080/ 里面有个接口【浏览器随机数打印两句话】
@RestController
public class P3cScannerController {@RequestMapping("/")public String index() {Random R = new Random();int randInt = R.nextInt();if (randInt % 2 == 0)return HelloWorld;return HELLO_WORLD;}private static final ExecutorService THREAD_EXECUTOR = Executors.newSingleThreadExecutor();private String HelloWorld = "Welcome to Codeup";private static final String HELLO_WORLD = "Nice to meet you";
}
  • 刷新浏览器,即会重新掉一次接口
    在这里插入图片描述
    在这里插入图片描述

二、使用步骤

1.进入工作台

  • 点击运行【流水线】在这里插入图片描述

2.创建流水线

  • 选择项目对于的开发语言,点击创建在这里插入图片描述

3.代码源

  • 选择代码源【这里可以有多种选择,我这里选阿里的这个Codeup】 在这里插入图片描述

  • 上图中:您配置流水线源的源文件将会被下载至工作目录下。如填写demo_abc,则流水线会将文件下载至构建环境的/root/workspace/demo_abc路径下

  • 默认路径是在: /root/workspace/

  • demo_abc : 这个名字可以自定义

4.代码扫描

  • Java代码扫描在这里插入图片描述

5.单元测试

  • Maven单元测试【maven 打包命令不局限于此,可自行添加或删除修改,根据项目需要】在这里插入图片描述

6.代码构建

  • 这里需要注意的是,假如是微服务项目,项目中有多个子模块,这里需要注意 target路径地址
  • 举例
general								 父模块
├─general-admin                      系统模块
│  ├─general-admin-client
│  └─general-admin-server
├─general-auth                       授权认证模块
│  ├─general-auth-client
│  └─general-auth-server
├─general-commons                    公共模块
│  ├─general-commons-base-core       核心模块【base】
│  ├─general-commons-job             任务调度
│  ├─general-commons-oss             文件存储
│  ├─general-commons-sms             消息通讯
  • 写法
general/general-admin/general-admin-server/target/
general/general-auth/general-auth-server/target/
后面的以此类推.........
  • 代码构建【】在这里插入图片描述

7.主机部署

  • 主机部署【右边新建主机】在这里插入图片描述
  • 这里选择主机类型【我这里是腾讯云的服务器】大家可以根据自己的服务器来进行选择在这里插入图片描述
  • 添加主机【复制命令,在自己发服务器中执行:一定要是root权限】在这里插入图片描述
  • 提示 : 这个命令只是一个案例,具体还是以自己生成的为准
 bash  <(curl http://agent-install-default.oss-cn-hangzhou.aliyuncs.com/production-install.sh) 'http://devops.aliyuncs.com/api/getSnByRegion?regionId=46e8e93a-1696-4e71-8563-fc64b07de17b&sign=mlzDn1GYyPRyHN0RXf%2FunQ%3D%3D&aliyunRegion=default×tamp=1671120883579&scope=flow' http://agent-install-default.oss-cn-hangzhou.aliyuncs.com/production-agent.tgz http://devops.aliyuncs.com/api/verifySnAndRegionId?sign=afe3vxJl6A7jxvDde9p%2BYw%3D%3D 46e8e93a-1696-4e71-8563-fc64b07de17b 1671120883579 default
  • 执行命令,安装完成如下图在这里插入图片描述
  • 安装后等待几秒钟,这里就会显示刚刚添加的服务器在这里插入图片描述
  • 详细配置在这里插入图片描述
  • 部署配置-下载路径:/home/admin/app/package.tgz 点击运行流水线的时候,服务器会会从Git中拉取代码,并打包,打包后的文件名称为 :package.tgz ,所以在部署脚本可以将这个文件解压完后选择性的删除
  • 执行用户:这里根据服务器分配的权限来定,一般使用 root

8.部署脚本

  • 官网介绍:点击访问
  • 因为实际的部署脚本已经打包到了构建产出的压缩包中,因此部署脚本可以简单的进行解压和执行即可
  • 首先创建一个目录【存放部署脚本deploy.sh,及项目 jar 文件】
mkdir -p /home/admin/application
# 解压到 temp 临时目录下
tar zxvf /home/admin/app/package.tgz -C /home/admin/app/
# 执行部署脚本
sh /home/admin/application/deploy.sh restart
  • 写部署脚本【deploy.sh】前,首先需要知道项目打包后的名称是什么,idea中打包测试在这里插入图片描述

  • deploy.sh 脚本内容

#!/bin/bash
PID_CODEUP=$(ps -ef | grep codeup-demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID_FXIAOKE" ]
thenecho codeup-demo-0.0.1-SNAPSHOT.jar 服务已关闭。
elseecho 正在关闭codeup-demo-0.0.1-SNAPSHOT.jar 服务,进程ID为:$PID_CODEUPkill $PID_CODEUP
fiecho 删除历史版本
rm -rf /home/admin/application/codeup-demo-0.0.1-SNAPSHOT.jar
echo /home/admin/application/codeup-demo-0.0.1-SNAPSHOT.jarecho 正在移动项目文件
sudo mv -f /home/admin/app/temp/codeup-demo-0.0.1-SNAPSHOT.jar /home/admin/application/
echo /home/admin/app/temp/codeup-demo-0.0.1-SNAPSHOT.jar /home/admin/application/echo 删除临时生产的文件
rm -rf /home/admin/app/echo 服务codeup-demo-0.0.1-SNAPSHOT.jar正在启动中........
nohup java -jar -XX:+UseG1GC -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=512m /home/admin/application/codeup-demo-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
  • 脚本简述:

1、首先去根据这个项目名称去查找当前以启动的线程,然后使用kill命令,停止该进程。
2、删除之前的历史版本
3、在解压后的文件中,找到jar文件并移动至指定目录下。
4、删除生成的临时文件。
5、启动项目【这里根据自己的项目添加 JVM 运行参数大小】

三、运行测试

1.运行流水线

  • 点击右上方【运行】在这里插入图片描述

2.测试报告

  • 如下图在这里插入图片描述

3.访问项目

  • 浏览器访问项目:ip:8080在这里插入图片描述

  • 项目部署成功!

总结

以上就是内容为个人部署发布的内容,本文仅仅是简单介绍了流水线的玩法,大家有更好的玩法可以留言相互讨论。

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...