GitLab Runner: 4. 创建服务

本文档属于使用 CLI 实现自动化指南的一部分。您可以在此处查看完整指南:通过 Stackhero CLI 以编程方式启动 GitLab-Runner、获取其凭据并更改其配置

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供了一套简单易用的 GitLab Runner 云端 解决方案,让您高效、无忧地运行 GitLab CI/CD 任务。您将获得以下优势:

  • 无限制 CI/CD 构建时长:无需按分钟计费,也没有任何隐藏费用,随时运行您的流水线。
  • 多任务并发执行:支持同时运行多个任务,加快开发进度。
  • 支持 Docker executorDocker-in-Docker:轻松在 CI/CD 流程中构建并推送容器镜像。
  • 完美兼容 GitLab.com自建 GitLab 实例。
  • 专属私有基础设施,配备高速 NVMe/SSD 存储,确保构建过程稳定且可预测。
  • 服务覆盖 🇪🇺 欧洲🇺🇸 美国 区域,满足您团队的不同需求。

节省时间:只需几分钟即可连接您的第一个 GitLab Runner,立即开始运行流水线!

以下是一个示例脚本,演示如何创建一个 stack,将您的 GitLab-Runner 服务添加到 stack,等待服务启动,获取其配置信息(包括自动生成的凭据),并应用新的配置。

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="gitlab-runner"   # GitLab-Runner 服务商店名称(见第 2 步)
instance="..."                # 第 3 步获取的实例规格
region="europe"               # 第 3 步获取的区域名称

# 为您的服务创建一个 stack(默认使用您的主组织,如有需要可添加 --organization)
stackId=$(stackhero --format=script stack-create \
  --name="My GitLab-Runner stack")
echo "Stack 已创建: ${stackId}"

# 将 GitLab-Runner 添加到 stack(名称自动解析)
serviceId=$(stackhero --format=script service-add \
  --stack="My GitLab-Runner stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "服务已添加: gitlab-runner"

# 等待服务完全启动(可能需要几分钟)
stackhero service-wait-for --service="gitlab-runner"

# 获取服务配置,包括自动生成的凭据
stackhero service-configuration-get --service="gitlab-runner" --format=json