3个版本
0.1.2 | 2022年1月18日 |
---|---|
0.1.1 | 2021年12月15日 |
0.1.0 | 2021年12月9日 |
#7 in #repos
24KB
506 行
Deployah
Deployah是一个在特定环境中部署软件系统的工具
- 该系统由多个仓库组成
- 这些仓库使用git版本控制系统
- 在源代码级别上相互独立
- 但作为系统协同工作
- 该系统运行在Linux上
- 需要访问硬件
- 不使用容器
- 系统需要在目标硬件上测试
- 系统偶尔也会在目标硬件上开发
工作流程
Deployah旨在简化您上述特定情况下的生活。
它从目标机器上的新deployah目录开始,该目录本身可以通过git或类似工具进行版本控制。
mkdir myprojectdeployment
Deployah使用deploay.toml
文件来控制您的部署。
您可以使用命令:deployah init
创建一个。
这将创建一个包含以下内容的文件
title = ""
name = ""
现在您可以手动设置deployah文件标题和项目名称。或者,您也可以使用上面的命令带标志:deployah init --title="文件标题" --name="项目名称"
。
现在您可以添加一个仓库:deployah add
。
这将更改文件为
title = "file title"
name = "project name"
[[repos]]
name = ""
url = ""
branch = ""
再次,您可以手动设置值或使用带标志的命令。最简单的方法可能是使用init
和add
设置文件,然后手动修改文件。
您可以将[[repos]]
部分复制粘贴以添加更多仓库。 name
是仓库将被克隆到的目录名称,url
是git仓库地址(您可以从GitLabs的Clone
按钮中获取)和branch
是您想要的分支。
一旦设置好您的deployah.toml
,您可以通过运行deployah update
获取所有仓库。相同的命令将更新您的仓库,通过获取最新更改并检出您更改的分支。
如果您想删除一切,deployah purge
将删除所有仓库,在询问您是否确实确定之后。该命令尚未了解未提交的更改和脏工作树 - 所以要小心!
一个尚未实现但计划中的功能是命令 deployah installah
- 此命令将使用尚未发明的 installah
工具,根据它们的根目录中的 installah.toml
文件安装所有仓库。Installah 不会是构建和安装工具本身,而是使用项目基于的任何构建系统。它将只提供一个统一的接口,并添加一些常见缺失的功能,例如服务文件位置和服务重载。
Installah 的未来版本也不会将软件安装到实际系统根目录中,而是在部署目录中创建一个根树,然后使用 overlayfs 或 fusefs 与实际系统根目录集成。
安装
curl --proto '=https' --tlsv1.2 -sSfhttps://sh.rustup.rs | sh
sudoapt install libssl-dev git
curl -sSLhttps://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
cargoinstall deployah
依赖项
~3.5–4.5MB
~82K SLoC