3 个版本
0.1.0 |
|
---|---|
0.0.4 | 2024 年 3 月 17 日 |
0.0.3 |
|
0.0.2 | 2024 年 3 月 16 日 |
0.0.1 | 2024 年 3 月 13 日 |
#262 在 命令行工具
每月 116 次下载
26KB
475 行
SimpleCI - 简单的 CI/CD 管道执行器
⚠️ SimpleCI 最初是用 Python 编写的。目前可能缺少一些功能!请参阅 Python 版本仓库 此处。
Simple-CI 是一个类似于 GitLab CI/CD 的本地 CI/CD 管道执行器。它在提交后通过 git 钩子触发,并执行用户在名为 .simple-ci.yml 的简单脚本中给出的指令,该脚本位于目录根目录。工件(日志、编译的二进制文件等)存储在与项目文件夹同一级别的文件夹中,名为 [project name]-simple-ci。
为什么选择 simple-CI?
自动化管道,如 GitLab CI/CD,是提高软件开发效率的伟大工具。然而,语法可能很繁琐,用户完全依赖 GitLab 和其运行者(尽管您可以创建自己的运行者)。此外,安装像 GitLab 或 Jenkins 这样的工具本地需要大量资源,并且需要它们在后台运行。
Simple-CI/CD 通过为用户提供一种简单的方法来运行 CI/CD 管道来解决这些问题。
- 在您的存储库中启动 simple-ci。
- 在 .simple-ci.yml 文件中构建您的管道。
- 使用 git 提交更改,并让管道自行执行。
- 赚钱!
有关更深入的文档,请参阅 Wiki。
命令
simpleci start
:创建 git 钩子。simpleci stop
:删除 git 钩子(管道将不会执行)。simpleci init
:创建 git 钩子和 .simple-ci.yml 文件。simpleci exec
:执行管道。simpleci clean
:删除所有工件文件。
.simple-ci.yml 脚本的一个简单示例
variables:
GLOBAL_VAR: "last"
stages:
- stage1
- stage2
stage1:
variables:
MYVAR: "second"
jobs:
- job1
- job2
stage2:
inside_docker:
image: ruby:2.7
path: /tmp/
jobs:
- job3
job1:
variables:
fie_name: "new_file"
artifacts:
paths:
- new_file
script:
- echo "This is the first job."
- touch $file_name
job2:
inside_docker:
image: ubuntu
path: /
script:
- echo "This is the $MYVAR job."
job3:
script:
- echo "This is the $GLOBAL_VAR job, that will be executed after stage1 is completed."
您可以在 Wiki 上找到完整的语法文档。
安装
cargo install simpleci
依赖关系
- bash
- git
贡献
如果您想做出贡献,请随时提交任何问题。
路线图
- 基本功能:脚本、作业和阶段管道
- 关键字:变量(在作业执行之前定义环境变量)
- 管道日志
- Gitlab CI/CD 管道
- 配置文件
- 创建 Git 钩子
- 多语言支持
- 关键字:Docker(在 Docker 中执行作业)
- 关键字:工件(管道执行后保存的文件)
- 关键字:缓存(使用先前作业中创建的文件)
- 添加测试
- only-if(测试条件。如果为真 -> 运行作业)
- never-if(测试条件。如果为真则不运行作业)
- 自定义钩子(提交前、提交后、推送前...)
- 秘密(存储变量而不显示它们)
- 自定义shell(bash、fish、zsh...)
- 自定义输出颜色
依赖关系
~4–15MB
~147K SLoC