MeteorGPLby WebbingApps

Composer en CI

Un token limitado para tu pipeline, COMPOSER_AUTH y recetas para GitHub Actions y GitLab CI.

En esta página
  1. Antes de empezar
  2. Entrega el token a Composer
  3. GitHub Actions
  4. GitLab CI
  5. Informa de lo que ha instalado el pipeline
  6. Caché
  7. Despliega con las nuevas versiones
  8. Preguntas

Antes de empezar

Entrega el token a Composer

Composer lee las credenciales de la variable de entorno COMPOSER_AUTH, así que no se escribe nada en disco:

COMPOSER_AUTH='{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"<your-token>"}}}'

GitHub Actions

- name: Install PHP dependencies
  env:
    COMPOSER_AUTH: '{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"${{ secrets.METEORGPL_TOKEN }}"}}}'
  run: composer install --no-interaction --prefer-dist

GitLab CI

install:
  image: composer:2
  variables:
    COMPOSER_AUTH: '{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"$METEORGPL_TOKEN"}}}'
  script:
    - composer install --no-interaction --prefer-dist

La página de CI de la documentación tiene lo mismo para Bitbucket Pipelines y CircleCI, y el paso que envía composer.lock a un proyecto.

La página de documentación Integración continua con las recetas para GitHub Actions y los demás servicios de CI.
Documentación → Integración continua: una receta por servicio de CI.

Informa de lo que ha instalado el pipeline

Después de composer install, un paso puede enviar composer.lock a un proyecto, que muestra entonces qué paquetes están desactualizados:

curl -fsS -u token:$METEORGPL_TOKEN -F lock_file=@composer.lock https://meteorgpl.com/api/projects/<project-id>/lock

La página del proyecto muestra este comando con su propio id.

Caché

Las versiones no cambian nunca una vez publicadas: guarda en caché el directorio de caché de Composer entre ejecuciones y haz commit de composer.lock. Las instalaciones siguen siendo reproducibles mientras no se retire una versión.

Despliega con las nuevas versiones

Un webhook puede iniciar un pipeline cuando un paquete que usas recibe una nueva versión, por ejemplo un repository_dispatch de GitHub que ejecuta composer update y abre un pull request.

Preguntas

Mi pipeline recibe 403. La cuenta o la organización no tiene un plan activo, o la dirección del runner está fuera de las redes que permite el token. Comprueba Configuración → Tokens de Composer y la dirección IP de salida del runner.

¿No ha respondido esto a tu pregunta? Contactar con soporte.

Enviar comentarios

Qué funciona, qué no, qué falta: unas palabras ayudan.

Solo si quieres una respuesta.

Se toma en tu navegador, sin esta ventana. Las contraseñas, lo que escribiste en formularios, las claves y los tokens se omiten como bloques grises; puedes ocultar más antes de enviarla. Conservamos las capturas 90 días.

Lo guardamos con la dirección de la página, tu idioma, el tamaño de la ventana, el navegador y la dirección IP, y tu dirección de correo electrónico si nos la das. La dirección IP y el navegador se eliminan a los 90 días. Política de privacidad.

Todos los idiomas