Pular para o conteúdo principal
MeteorGPLby WebbingApps

Integração contínua

Guarde um token como segredo, entregue-o ao Composer por meio de COMPOSER_AUTH e, opcionalmente, envie o arquivo lock para o seu painel de dependências.

1. Um token para CI

Crie-o em Configurações → Tokens do Composer (ou, para uma equipe, nos tokens do Composer da organização: ele continua funcionando quando pessoas saem). Limite-o aos pacotes que o projeto usa e às faixas de IP dos seus runners, e defina uma data de expiração. Salve-o como um segredo chamado METEORGPL_TOKEN.

O repositório entra uma única vez no composer.json do projeto:

composer config repositories.meteorgpl composer https://composer.meteorgpl.com

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

- name: Report composer.lock to the dependency dashboard
  if: github.ref == 'refs/heads/main'
  run: curl -fsS -u "token:${{ secrets.METEORGPL_TOKEN }}" -F [email protected] https://meteorgpl.com/api/projects/<project-id>/lock

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

Bitbucket Pipelines

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

CircleCI

- run:
    name: composer install
    command: |
      export COMPOSER_AUTH='{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"'"$METEORGPL_TOKEN"'"}}}'
      composer install --no-interaction --prefer-dist

Cache e builds reproduzíveis

Dists são imutáveis: mantenha em cache o diretório de cache do Composer entre as execuções (composer config cache-dir). Faça commit do composer.lock; toda versão publicada continua disponível, então as instalações são reproduzíveis até que uma versão seja retirada.

Implantar a cada nova versão

Um webhook (Configurações → Webhooks) pode disparar um fluxo de trabalho quando um pacote que você usa ganha uma nova versão — por exemplo, um repository_dispatch que executa composer update e abre um pull request.

Enviar feedback

O que funciona, o que não funciona, o que falta: algumas palavras ajudam.

Só se você quiser uma resposta.

Feita no seu navegador, sem esta janela. Senhas, o que você digitou em formulários, chaves e tokens ficam de fora como blocos cinza; você pode ocultar mais antes de enviar. Guardamos as capturas por 90 dias.

Guardamos com o endereço da página, seu idioma, o tamanho da janela, o navegador e o endereço IP, e seu endereço de e-mail, se você informar um. O endereço IP e o navegador são excluídos após 90 dias. Política de privacidade.

Todos os idiomas