GitLab Runner: 4. 创建服务

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

👋 欢迎查阅 Stackhero 文档!

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

  • 无限制 CI/CD 构建时长:不按分钟计费,您的流水线可随时运行。
  • 多任务并发执行:可同时运行多个任务,加快整体流水线速度。
  • 支持 Docker executorDocker-in-Docker:简化容器镜像的构建与推送流程。
  • 兼容 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