首页 > 编程语言 >开源一套快速部署程序的工具(CI/CD)

开源一套快速部署程序的工具(CI/CD)

时间:2023-11-16 15:22:34浏览次数:40  
标签:web CI 程序 Vela CD 开源 vela 服务器 运行

随着微服务越写越多,程序发布就成了一个麻烦事,所以写了一个部署工具 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

image

添加目标服务器


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

image

为了安全考虑,一个 vela-agent 服务器,只能被一个 vela-web 绑定,当 vela-agent 被添加到列表后,其他 vela-web 无法和它再绑定。

如果要解除这种绑定关系,需要手动删除 vela-agent 服务器上的 /opt/software/vela-agent-application/data.ClientCertHash文件,并重启服务:systemctl restart vela-agent

添加程序


在“程序部署列表”页面,点击【新部署程序】按钮,添加你要部署的程序。
例如,我现在要把一个开源的微服务网关,部署到我的服务器上,可以如下配置:


image
image
image

编译并发布


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

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

image

安装nodejs也可编译前端项目

如果你是第一次发布这个程序,编译完成后,它不会立刻运行,会提示你先修改此程序的配置文件,再手动点击【启动】来运行此程序。

源码地址


https://github.com/simpleway2016/vela.git

标签:web,CI,程序,Vela,CD,开源,vela,服务器,运行
From: https://www.cnblogs.com/IWings/p/17836085.html

相关文章

  • 最高加速9倍!字节跳动开源8比特混合精度Transformer引擎
    前言 近年来,Transformer已经成为了NLP和CV等领域的主流模型,但庞大的模型参数限制了它的高效训练和推理。于是字节跳动在2019年12月和2021年6月分别推出了高效推理和训练引擎LightSeq,大大加速了Transformer系列模型的训练和推理,也打通了Transformer从训练到推理......
  • 实时化与Serverless是开源大数据3.0时代的必然选择
    近日在2023云栖大会上,阿里云开源大数据产品进行了年度发布:E-MapReduce、Elasticsearch 等开源大数据产品全面 Serverless 化;创新性推出 Flink 与 Paimon 搭档的新一代流式湖仓;拥抱 AI,推出 Milvus 全托管服务,升级智能运维工具 EMR Doctor 以及 Flink Advisor。核心组......
  • BigDecimal 除法的用法
    运算除法时,经常遇到除不尽的情况,那么下面的模式就派上用场了 RoundingMode ROUND_UP进位制:不管保留数字后面是大是小(0除外)都会进1。结果会向原点的反方向对齐,正数向正无穷方向对齐,负数向负无穷方向对齐。ROUND_DOWN舍去制,截断操作,后面所有数字直接去除。结果会向原点......
  • 【scipy 基础】--正交距离回归
    Scipy的ODR正交距离回归(ODR-OrthogonalDistanceRegression)模块,适用于回归分析时,因变量和自变量之间存在非线性关系的情况。它提高了回归分析的准确性和稳健性。对于需要解决非线性回归问题的科研人员和工程师来说,它具有非常重要的意义。ODR正交距离回归模块的作用主要在于它将......
  • 抖音私信群发工具cookie,批量导入UID安全码,易语言谷歌模版开源
    用精易浏览器的谷歌模版开发的工具,最主要的是可以多账号登录抖音号,而且可以导入COOKIE,也能提取cookie,就实现了一种多账号私信的效果,可以搭配代理IP效果的,这个我没加入,我就分享下源码,开源就行了,软件基础都设计好了,可以实现的功能就是可以多账号登录【cookie写入本地txt分割】然后导......
  • ASCII码
    C语言中,字符型存储的编码是ASCII码,ASCII码是一种用于显示现代英语字符的编码。ASCII码使用7位二进制数表示一个字符,共有128个字符。ASCII码的取值范围是\([0,127]\)。ASCII码的具体内容如下:ASCII码字符ASCII码字符ASCII码字符ASCII码字符\(0\)[NUL]\(32\)\(6......
  • 【开源】基于Vue.js的高校实验室管理系统
    一、摘要1.1项目介绍基于JAVA+Vue+SpringBoot+MySQL的高校实验室管理系统包含实验室类型模块、实验室档案模块、实验模块、实验设备模块、实验订单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,高校实验室......
  • 【开源】基于Vue.js的衣物搭配系统的设计和实现
    一、摘要1.1项目介绍基于Vue+SpringBoot+MySQL的衣物搭配系统,包含衣物档案模块、衣物搭配模块、衣物收藏模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,衣物搭配管理系统基于角色的访问控制,给普通用户、衣物......
  • 开源埋点分析系统:洞察用户行为的新视角
    在数字化浪潮中,了解用户行为和优化用户体验成为企业竞争力的关键。对于希望深入了解客户和推动业务增长的公司来说,埋点分析系统是不可或缺的工具。今天,我们要介绍的不仅是一个ClkLog埋点分析系统,而是一种全新的、开源的洞察方案,它能够帮助您捕捉每一个关键数据点,确保您的决策基于......
  • 决策树(Decision Tree)
    决策树是一种基于树结构的分类和回归模型,它通过对数据进行逐步的分解,从根节点开始,根据不同的特征进行分割,最终到达叶节点,叶节点对应一个预测结果。以下是决策树的基本概念和构建过程的详细解释:决策树的基本概念:节点(Node):根节点(RootNode):树的起始节点,包含整个数据集。内部节......