0.4.22 新增
为仓库配置 CI
打开导航栏中的 CI/CD。此版本可配置持续集成,但不会部署你的应用程序。
以下控件名称与英文界面一致。
开始之前
付费套餐和已有提交的仓库
在 Account 中使用付费套餐账户登录;付费 Team、Business 或 Enterprise 团队的席位也符合要求,但试用不算。配置时需要能够访问提供 0.4.22 CI 模板的 Termiyo 服务器。请先向仓库推送第一个提交,再配置 CI。
11 种项目类型
Build it as 提供 Node.js、Python、Go、Rust、Java (Maven)、Java (Gradle)、Ruby、PHP、.NET、Docker image 和 A blank starting point。GitHub 和 GitLab 的检测会读取仓库根目录的文件名;请检查所选类型,如果匹配多个,请选择其中一个。空白起点包含一个需要你替换的占位步骤。
GitHub
1.准备令牌
选择 GitHub 并点击 Open GitHub’s token page。使用仅限该仓库的细粒度个人访问令牌:Contents、Workflows 和 Pull requests 需要 Read and write,Actions 和 Metadata 需要 Read。有效期请设为不超过 90 天。仅支持通过 api.github.com 访问的 github.com,不支持 GitHub Enterprise。
2.保存并检查
选择 Saved token,或点击 Save a new token,填写 Name 和 Paste the token,然后点击 Save to key box。在 Repository 中输入 owner/name 或 github.com 链接,再点击 Check。也可以使用 List repositories this token can see。
3.预览并创建拉取请求
选择 Build it as,点击 Show the file 并检查内容,然后点击 Set up CI。Termiyo 将 .github/workflows/termiyo-ci.yml 提交到 termiyo/ci-setup,并创建拉取请求。使用 Open in browser 审查并合并它。CI 可能在拉取请求上运行;有人合并之前,默认分支保持不变。
GitLab
1.指定项目并准备令牌
选择 GitLab。在 Project 中,为 gitlab.com 输入 group/project,或为你自己的 GitLab 输入完整的 HTTPS 项目网址,然后点击 Open GitLab’s token page。使用具有 api 范围的个人或项目访问令牌;此范围允许执行其所有者能够执行的所有操作,因此请设置较短的有效期,并在配置完成后撤销令牌。
2.检查项目和运行器
选择 Saved token,或使用 Save a new token → Save to key box,然后点击 Check。选择 Build it as。如果没有可用的运行器,请先启用共享运行器或注册项目运行器,再进行合并;如果令牌无法确定是否有可用的运行器,面板也会说明。
3.预览并创建合并请求
点击 Show the file,检查内容后点击 Set up CI。Termiyo 将 .gitlab-ci.yml 提交到 termiyo/ci-setup,并创建合并请求。使用 Open in browser 审查并合并它;合并之前,默认分支保持不变。
Giti:Repos on a host
1.检查主机
连接存放 Giti 仓库的 SSH 主机,并选择 Repos on a host。此运行器需要 x86_64 或 ARM64 架构的 Linux、git,以及 SSH 账户能够使用的 Docker,另外还需要 curl 或 wget、tar、sha256sum 或 shasum,以及 timeout。Termiyo 不会安装 Docker;请联系主机管理员,或使用无 root 的 Docker。
2.安装并启用
点击 Install the CI runner。Termiyo 将 nektos/act 0.2.89 下载到 ~/.termiyo/bin,并在解压或运行前验证其 SHA-256。为仓库选择 Build it as,然后点击 Turn CI on。如果已有其他工具的 post-receive 钩子,Termiyo 会保留它,并停止自动配置。
3.合并、推送并查看结果
如果 Termiyo 创建了工作流分支 termiyo/ci,请用 Copy 复制显示的命令,在克隆的工作副本的默认分支上执行,以合并并推送。之后,主机会在所有者推送后,通过 Docker 中的 act 运行 .github/workflows/termiyo-ci.yml;已获授权的队友的推送绝不会启动 CI。使用 Refresh 和 Log 查看结果,使用 Turn CI off 禁用钩子。
主机资源
每次运行的超时时间为 30 分钟。Termiyo 请求 Docker 使用 bridge 网络、不在任务内提供 Docker 套接字、禁止新增权限,并限制为 2 个 CPU、4 GB 内存和 512 个进程;实际执行取决于主机的 Docker。首次运行会下载一个 2.3 GB 的镜像。
限制与验证
已有工作流与套餐
对于 GitHub 和 GitLab,Termiyo 绝不会覆盖目标工作流文件;如果 .gitlab-ci.yml 已存在,会提供模板供你手动合并。付费套餐涵盖从 Termiyo 进行配置:查看运行记录不受套餐限制,已配置的 CI 在套餐结束后仍会继续运行。模板来自 Termiyo 服务器,必须与应用中固定的指纹一致。
目前的验证情况
GitHub 和 GitLab 配置已通过模拟服务测试,尚未使用真实账户验证。Giti CI 已在一台 x86_64 主机上完成过一次真实运行。此版本尚未实现部署功能。