GitLab Runner: 4. 创建服务

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

👋 欢迎来到 Stackhero 文档!

Stackhero 为您提供易于使用的 GitLab Runner cloud 解决方案,专为高效处理您的 GitLab CI/CD 任务而设计。您可以享受以下优势:

  • 无限制 CI/CD 构建时长:没有按分钟计费,您的流水线可以随时运行。
  • 多任务并发执行:可同时运行多个任务,加快整体流水线速度。
  • 支持 Docker executorDocker-in-Docker:简化容器镜像的构建与推送流程。
  • 兼容 GitLab.com 以及任何 自建 GitLab 实例。
  • 专属私有虚拟机(VM),采用高速 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 created: ${stackId}"

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

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

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