É possível ter um .gitlab-ci.yml comum em vez de duplicar as alterações para .gitlab-ci.yml em cada projeto?

1

No momento, colocamos um .gitlab-ci.yml em cada projeto. No momento temos mais de 50 projetos e toda vez que algo muda para o .gitlab-ci.yml a equipe tem que mudar a estrutura em todos os projetos. É possível ter um .gitlab-ci.yml comum?

Tentativas

  1. Tentou ter um gitlab-ci.yml, mas não sabe como alterar o caminho padrão para este arquivo
  2. scripts comuns diminuem a quantidade de duplicação de código, mas se a estrutura gitlab-ci.yml for alterada, precisamos implementá-lo em todos os projetos
por 030 27.10.2016 / 18:18

2 respostas

3

Não, isso não é possível. Isso vai contra a idéia de por que esse método existe, porque e se você adicionar um repositório / projeto git que precisa de um arquivo yml completamente diferente?

O que você poderia fazer (como mencionou) é ter um script executado, que é baixado durante o processo de execução .gitlab-ci.yml . Algo parecido com isto:

stages:
  - prep
  - run

get_script:
  stage: prep
  script:
    - wget http://my_local_script.lan/run_suite.sh -O /tmp/run_suite.sh

run_script:
  stage: run
  script:
    - bash /tmp/run_suite.sh

Defina isso como o script para cada projeto e, em seguida, tudo o que você precisa fazer é atualizar o run_suite.sh uma vez e todos os novos projetos o usarão.

Eu não acho que haja uma maneira melhor do que isso, eu tenho medo.

    
por 25.11.2016 / 17:32
0

Se eu quiser uma configuração de IC global, eu usaria ganchos de sistema.

É claro que você perderá alguns (ou seja, todos) os recursos interessantes do Gitlab CI

    
por 25.11.2016 / 18:11

Tags