开源一套快速部署程序的工具(CI/CD)
随着微服务越写越多,程序发布就成了一个麻烦事,所以写了一个部署工具 Vela,只要填写一个git地址、编译命令等简单信息,就能自动完成程序的部署。
Vela 特性:
代码可在任意一台电脑自动完成编译,再自动上传至服务器
可指定程序以Docker容器方式运行
编译命令采用终端运行,理论支持所有命令行命令
可在线编辑程序配置文件,编辑时可选择其他程序的配置文件作为参考
程序更新时会自动备份现有版本,日后可通过备份列表恢复
实时以列表形式展示所有程序的CPU、内存占用情况,并可设置报警线
Vela 构成
Vela 分为两部份:
- Vela Web
运行在任意一台电脑上,它负责从git地址克隆代码,并执行编译命令;
对外提供 web 管理页面,作为 Vela 的管理入口。
- Vela Agent
运行在目标服务器上,负责接收 Vela Web 发送过来的程序文件,并打包为 Docker 映像,然后运行该映像。
Vela 下载地址
https://cccscls-my.sharepoint.com/:f:/g/personal/jack_mutc_ca/Et7VbP7sX31EiN-NQkPL0RgBL5RBG15_PyepR5Tx0PaqsQ?e=BTngox
Vela Agent 安装
在目标服务器(Linux)上,下载 VelaAgent.***.zip ,解压后,在目录下运行下面命令安装vela-agent服务:
sudo chmod +x VelaService
sudo ./VelaService
会询问你用什么用户来运行日后部署的程序,你可以输入特点的用户名,或者直接回车,用root用户运行。
服务安装完毕后,运行 systemctl start vela-agent 启动服务。
如果你以后发布的程序需要以Docker容器的方式运行,那么,在此服务器上,还需要安装Docker。
Vela Web 安装
如果你用windows跑vela web,直接运行 VelaWeb.Server.exe 即可,不用参考下面Linux安装步骤。
在编译服务器(Linux)上,下载 VelaWeb.***.zip ,解压后,在目录下运行下面命令安装vela-web服务:
sudo chmod +x VelaService
sudo ./VelaService
会询问你用什么用户来运行该服务,你可以输入特点的用户名,或者直接回车,用root用户运行。
服务安装完毕后,运行 systemctl start vela-web 启动服务。
由于我平时都是部署.net项目和vue前端项目,所以,编译服务器我还会安装.net sdk、nodejs等环境
浏览器访问管理页面
vela-web是一个web服务,通过 http://ip:10001 可以访问它的管理页面,如果要修改它的端口,编辑 /opt/software/vela-web-application/appsettings.json 文件,然后重启服务即可:systemctl restart vela-web
默认管理员用户:admin 密码: admin

添加目标服务器
在“服务器列表”页面,点击添加服务器,把你的vela-agent服务器,添加到列表当中。

为了安全考虑,一个 vela-agent 服务器,只能被一个 vela-web 绑定,当 vela-agent 被添加到列表后,其他 vela-web 无法和它再绑定。
如果要解除这种绑定关系,需要手动删除 vela-agent 服务器上的 /opt/software/vela-agent-application/data.ClientCertHash文件,并重启服务:systemctl restart vela-agent
添加程序
在“程序部署列表”页面,点击【新部署程序】按钮,添加你要部署的程序。
例如,我现在要把一个开源的微服务网关,部署到我的服务器上,可以如下配置:





编译并发布
在程序列表中,点击表格左边【...】按钮,打开菜单,点击【查看输出日志】按钮

然后会看到打开一个终端页面,点击【立刻发布】按钮,将会看到程序的编译过程。

安装nodejs也可编译前端项目

如果你是第一次发布这个程序,编译完成后,它不会立刻运行,会提示你先修改此程序的配置文件,再手动点击【启动】来运行此程序。
源码地址
https://github.com/simpleway2016/vela.git
开源一套快速部署程序的工具(CI/CD)的更多相关文章
- docker 快速部署ES集群 spark集群
1) 拉下来 ES集群 spark集群 两套快速部署环境, 并只用docker跑起来,并保存到私库. 2)弄清楚怎么样打包 linux镜像(或者说制作). 3)试着改一下,让它们跑在集群里面. 4) ...
- 使用kubeadm快速部署一套K8S集群
一.Kubernetes概述 1.1 Kubernetes是什么 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S. K8S用于容器化应用程序的 ...
- 如何快速部署国人开源的 Java 博客系统 Tale
除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...
- 【干货】快速部署微软开源GPU管理利器: OpenPAI
[干货]快速部署微软开源GPU管理利器: OpenPAI 介绍 不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力.除此之外,还要压榨出硬件的所有潜力来加快模型训练.OpenPAI作为 ...
- 一键快速部署CodeBlocks的EGE图形库工具
大一下学期,学完了c语言的基本内容, 也就开始开发项目了,此时一个图形界面就比较重要了,c语言中不提供图形界面,一般这些是用的其它开发的图形库,如 Easyx .ege等. 本文就提供 Codeblo ...
- eas之EAS手工打包及快速部署工具
EAS手工打包及快速部署工具:jar包的命名是项目名就好了. 1. 在eas的工作空间下:E:\Easworkspace\Project_0 有classes和deployed_metas这两个文 ...
- IDEA工具下Mybaties框架快速入门程序
本篇文章介绍在IDEA工具下mybatis快速入门程序分为以下五步 1 添加依赖包 2 编写pojo对象 3 编写映射文件 4 编写核心配置文件 5 测试框架 详细如下 建立Mod ...
- Android 开源控件与常用开发框架开发工具类
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...
- 使用Rancher的RKE快速部署Kubernetes集群
简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linu ...
- 私活利器,docker快速部署node.js应用
http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...
随机推荐
- flash 游戏分析 - 1
游戏 我们就以<猎人的生存日记>(Orion Sandbox)这款游戏来分析. 下载链接 用FlashStart打开Orion Sandbox 1.swf 我们需要反复进入游戏,可以先打开 ...
- 达梦数据库: SQL查询报错《不是 GROUP BY 表达式解决方法》
报错信息: ****: 第4 行附近出现错误: 不是 GROUP BY 表达式 修改办法: 达梦可以配置兼容参数,COMPATIBLE_MODE=4,静态参数,需要重启数据库后生效! sp_set_p ...
- java.sql.SQLException: ORA-28040: 没有匹配的验证协议
一直以来用的都是服务器上的Oracle数据库,今天改成连接本地Oracle 12c数据库是出问题了.hibernate连接Oracle12c时出现 java.sql.SQLException: ORA ...
- 实现无限存储:基于JuiceFS 创建 Samba 和 NFS 共享
随着企业数据量的持续增长,存储容量需求日益增大.如何采用没有容量上限的云存储替换本容量有限的本地磁盘,已成为广泛的需求和共识.特别是在企业中常用的 Samba 和 NFS 共享,如果能够使用云存储作为 ...
- golang1.21新特性速览
经过了半年左右的开发,golang 1.21 在今天早上正式发布了. 这个版本中有不少重要的新特性和变更,尤其是在泛型相关的代码上. 因为有不少大变动,所以建议等第一个patch版本也就是1.21.1 ...
- 应用性能监控工具(pinpoint)部署
Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控.方法执行详情查看.应用状态信息监控等功能.pinpoint使用HBASE储存数据. 下面介绍pinpoint部署及应用. 1. 安装 ...
- ctfshow--web入门--文件上传
ctfshow--web入门--文件上传 web151(前端校验) 题目中提示前端检验不可靠,应该对前端检验进行绕过 检查前端代码进行修改,使php文件可以通过前端校验,成功上传后进行命令执行,找到f ...
- 2023牛客暑期多校训练营7 CGILM
比赛链接 C 题解 知识点:位运算,贪心. 我们用分段的思想考虑大小关系,若在同一段则大小不能确定,一开始为 \([1,n]\) . 我们按位从高到低考虑,某位如果 \(b_i\) 产生了 \(1\) ...
- 4.2 C++ Boost 内存池管理库
Boost 库是一个由C/C++语言的开发者创建并更新维护的开源类库,其提供了许多功能强大的程序库和工具,用于开发高质量.可移植.高效的C应用程序.Boost库可以作为标准C库的后备,通常被称为准标准 ...
- 一文读懂LockSupport
阅读本文前,需要储备的知识点如下,点击链接直接跳转. java线程详解 Java不能操作内存?Unsafe了解一下 LockSupport介绍 搞java开发的基本都知道J.U.C并发包(即java. ...