Mudanças entre as edições de "GitLab CI"
(Criou página com 'O GitLab CI é a ferramenta de CI (''Continuous Integration'') e CD (''Continuous Deployment'') disponibilizada para testar, construir (''build'') e instalar (''deploy'') o c...') |
(Sem diferença)
|
Edição das 21h53min de 8 de fevereiro de 2017
O GitLab CI é a ferramenta de CI (Continuous Integration) e CD (Continuous Deployment) disponibilizada para testar, construir (build) e instalar (deploy) o código desenvolvido.
Devido aos novos desafios de entrega contínua houve a necessidade de se descontinuar o uso do Jenkins como orquestrador de build e adotar o GitLab CI.
Mais informações pode ser acessadas diretamente no site do fabricante.
Configurando o Build no Gitlab CI
Como o GitLab CI vai executar os mesmos passos de build que o Jenkins executava, os seus arquivos de execução são os mesmos, e para organiza-los e começar a utilizar o GitLab CI é necessário criar o do arquivo .gitlab-ci.yml na raiz do projeto.
Arquivo de configuração do Build: .gitlab-ci.yml
O arquivo .gitlab-ci.yml abaixo executa as mesmas atividades antes realizadas pelo Jenkins, ou seja:
- Executar o build a cada commit, realizado independente do branch; e
- Executar a análise de código via SonarQube;
stages:
- test
- build
compilar:
stage: build
script:
- echo Executing cake scripts...
- .\build.ps1
sonar:
stage: test
script:
- echo Executing sonar scripts...
- .\sonar.ps1
No exemplo, temos dois estágios (test e build) e dois jobs (compilar e sonar). Os estágios são sempre executados na sequência na qual foram declarados, nunca são executados em paralelo. Os jobs, por sua vez, são executados em paralelo desde que estejam dentro do mesmo estágio. No exemplo acima cada job será executado dentro de seu respectivo estágio, portanto, serão executados separadamente.
O GitLab CI trás uma ferramenta para validar a sintaxe de escrita do arquivo, o CI Lint. O resultado de análise da sintaxe demonstrada acima pode ser visualizada na imagem ao lado.
Arquivo executor do Build: build.ps1
O build desenvolvido pela MSTech para utilização nos sistemas desenvolvidos em C# é baseado na linguagem CAKE.