之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便。

如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云 云效DevOps,阿里云效Flow流水线,阿里云效Codeup代码管理。

项目是前后端分离,前端使用Vue,后端是Spring Boot单体。在Codeup中分别有前、后端代码仓库。

流水线大致原理:云效后台创建虚拟机从代码仓库拉取源码,并构建制品(如拉取前端代码npm run build选取dist文件打包成制品;拉取后端Spring Boot项目代码,使用Maven编译成jar包打包成制品),将制品上传到我们的主机并执行事先编写好的部署命令(如先将旧的版本kill,部署新制品nohup java -jar)。

以后端Spring Boot项目为例创建自动编译部署流水线:

1.点击进入代码仓库首页,点击创建流水线;

2.选择流水线模板【Java·构建、部署到阿里云ECS/自有主机】并创建;

3.选择正确的仓库、分支代码,开启代码触发,push代码后自动运行该流水线;



4.编译制品(每月免费使用1800分钟),注意写对正确的打包路径,即目标文件的路径;





5.配置你的主机,让流水线能够自动将制品上传到你的主机并执行部署命令;



6.部署,制品jar包将会保存到你主机的/home/admin/app/package.tgz中,部署脚本是你主机下载好制品后会执行的命令,并且还可以配置飞书通知。

tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
kill -9 `jps|grep ruoyi-admin.jar|awk '{print $1}'`
nohup java -jar /home/admin/application/ruoyi-admin.jar &
exit

前端Vue代码类似,只是制品的dist文件,部署时的命令要完成的操作就是将dist文件放入Nginx配置文件中对应的路径即可。

最新文章

  1. 深入理解Java:类加载机制及反射
  2. waterMarkTextBox
  3. C++模板中的函数对象
  4. 去掉linux 系统vi中出现^M字符的方法
  5. Supporting Connected Routes to Subnet Zero
  6. DataBase 总结开篇
  7. EPUB弹出窗口式脚注
  8. VS插件 热
  9. css 页面特殊显示效果
  10. Unity3D手机斗地主游戏开发实战(01)_发牌功能实现
  11. awk小例子_2_数值统计脚本
  12. U3D学习资料收集
  13. 接口自动化(unittest)
  14. [UE4]打包EXE
  15. C语言常用函数大全
  16. Web开发框架之权限管理系统
  17. [Python爬虫] 之五:Selenium 处理滚动条
  18. python 流式游标读取mysql大型数据库
  19. 【回文自动机】bzoj3676 [Apio2014]回文串
  20. Redis Hlen 命令用于获取哈希表中字段的数量

热门文章

  1. Elasticsearch:如何实现对 emoji 表情符号进行搜索
  2. python中限定导入的子模块
  3. 01_Typora学习
  4. 利用msg_msg实现任意地址读写
  5. aardio + PHP 可视化快速开发独立 EXE 桌面程序
  6. Java实现6种常见排序
  7. 如何生成均匀随机数 C++
  8. 分布式存储系统之Ceph集群存储池、PG 与 CRUSH
  9. 关于Struts访问不到静态资源的问题
  10. ifram父页面、子页面元素及方法的获取调用