GitLab Runner: Automatice con la CLI
Inicie GitLab-Runner, recupere sus credenciales y modifique su configuración de forma programática con la CLI de Stackhero
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución sencilla de GitLab Runner en la nube que facilita la ejecución de sus trabajos de GitLab CI/CD de manera eficiente y sin complicaciones. Esto es lo que puede esperar:
- Minutos ilimitados de CI/CD: ejecute sus pipelines tantas veces como necesite, sin facturación por minuto ni cargos inesperados.
- Varios trabajos concurrentes: acelere su desarrollo ejecutando varios trabajos en paralelo.
- El ejecutor Docker con soporte para Docker-in-Docker: construya y publique fácilmente imágenes de contenedores como parte de su proceso CI/CD.
- Funciona perfectamente tanto con GitLab.com como con instancias de GitLab autogestionadas.
- Una infraestructura privada y dedicada con almacenamiento NVMe/SSD rápido garantiza un rendimiento de compilación estable y predecible.
- Disponible en las regiones de 🇪🇺 Europa y 🇺🇸 USA para adaptarse a las necesidades de su equipo.
Ahorre tiempo: puede conectar su primer GitLab Runner y empezar a ejecutar pipelines en solo unos minutos.
Esta guía muestra cómo crear un servicio GitLab-Runner, leer sus credenciales y actualizar su configuración completamente desde la línea de comandos, sin necesidad de hacer clic en el panel de control. Es ideal para scripts, pipelines de CI y agentes de IA.
Utilizaremos la CLI de Stackhero para todas las tareas. Si aún no la ha instalado, puede hacerlo con:
curl -fsSL https://www.stackhero.io/install.sh | sh
1. Autenticación
La forma más sencilla de empezar es iniciar sesión a través de su navegador. Cuando ejecuta el comando de login, la CLI abre una página web donde puede aprobar el acceso. No se introducen contraseñas ni códigos 2FA en la propia CLI.
stackhero login
Después de iniciar sesión, sus credenciales se almacenan localmente y se utilizarán automáticamente en los siguientes comandos de la CLI.
Para entornos completamente automatizados como scripts o pipelines de CI, puede preferir un token de acceso no interactivo. Puede crearlo desde su panel de control (Cuenta > Access tokens) y exportarlo como una variable de entorno. La CLI, y cualquier script que ejecute, lo detectará automáticamente.
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
2. Encontrar el store de servicio GitLab-Runner
A continuación, querrá listar los stores de servicio GitLab-Runner disponibles en su cuenta. La CLI acepta directamente el nombre del store (gitlab-runner), por lo que no es necesario buscar ni copiar ningún ID.
# Listar los stores de servicio GitLab-Runner (añada --organization si gestiona más de uno)
stackhero services-store-list --name="gitlab-runner"
Puede referirse al nombre del store gitlab-runner en los siguientes comandos, o elegir un ID específico svs-xxxxxx de la lista si lo prefiere.
3. Elegir un tamaño de instancia y una región
# Listar los tamaños de instancia para su store de servicio (utilice la columna NAME para --instance)
stackhero instances-store-list --service-store=gitlab-runner
# Listar las regiones disponibles (nombres como "europe")
stackhero regions-list
4. Crear el servicio
Aquí tiene un ejemplo de script que crea un stack, añade su servicio GitLab-Runner, espera a que se inicie, recupera su configuración (incluyendo las credenciales generadas) y luego aplica una nueva configuración.
#!/bin/bash
set -e
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
serviceStore="gitlab-runner" # El nombre del store de servicio GitLab-Runner (ver paso 2)
instance="..." # Un tamaño de instancia del paso 3
region="europe" # Un nombre de región del paso 3
# Crear un stack para su servicio (usa su organización por defecto; añada --organization si es necesario)
stackId=$(stackhero --format=script stack-create \
--name="My GitLab-Runner stack")
echo "Stack creado: ${stackId}"
# Añadir GitLab-Runner al stack (los nombres se resuelven automáticamente)
serviceId=$(stackhero --format=script service-add \
--stack="My GitLab-Runner stack" \
--service-store="${serviceStore}" \
--instance="${instance}" \
--region="${region}")
echo "Servicio añadido: gitlab-runner"
# Esperar a que el servicio esté completamente en funcionamiento (esto puede tardar un par de minutos)
stackhero service-wait-for --service="gitlab-runner"
# Recuperar la configuración del servicio, incluidas las credenciales generadas
stackhero service-configuration-get --service="gitlab-runner" --format=json
5. Recuperar credenciales
El comando service-configuration-get devuelve la configuración completa de su servicio, incluidas las contraseñas generadas automáticamente y los datos de conexión. El resultado está en formato JSON, lo que facilita su uso en scripts y automatizaciones.
stackhero service-configuration-get --service=svc-xxxxxx --format=json
6. Cambiar la configuración
Puede consultar un ejemplo de esquema de configuración y luego aplicar sus propios ajustes. Al actualizar la configuración, el servicio puede reiniciarse para aplicar los cambios.
# Ver el esquema de configuración y un ejemplo para su servicio
stackhero service-configuration-example --service=svc-xxxxxx
# Aplicar una configuración personalizada (el servicio se reinicia si es necesario)
stackhero service-configuration-set \
--service=svc-xxxxxx \
--configuration='{ "...": "..." }'
# Esperar a que se aplique la nueva configuración
stackhero service-wait-for --service=svc-xxxxxx
Eso es todo. Ahora ha visto el ciclo completo: iniciar un servicio, recuperar sus credenciales y reconfigurarlo, todo de forma automatizada y mediante scripts. Para profundizar más, consulte la documentación completa de la CLI, que también cubre la autenticación no interactiva con STACKHERO_TOKEN mostrada aquí.