Como executar um projeto java em um shell runner ao enviar para um repositório GitLab

Meu nome é Ivan Sidorenko, sou engenheiro de testes na Digital Design. Minha tarefa era implementar o lançamento de autotestes escritos em Java Selenium.

Eu sou novo no CI / CD, por isso tive muitos problemas. Não encontrei instruções detalhadas na Internet para esta tarefa; portanto, depois que descobri com a ajuda de nossos desenvolvedores, decidi escrever um manual para os mesmos iniciantes que eu.

Descrevi detalhadamente todas as etapas necessárias para configurar o CI / CD usando o GitLab, por exemplo, executando um programa simples do HelloWorld escrito em Java.



Os autotestes devem ser executados toda vez que um desenvolvedor envia alterações para o repositório GitLab. Essa tarefa corresponde a um dos princípios do CI / CD - o lançamento de autotestes em cada estágio do desenvolvimento do produto. Não descreverei o conceito completo de CI / CD neste manual - essas informações são fáceis de encontrar na Internet.

Mas o que não encontrar é como configurar o CI / CD usando o GitLab para iniciantes, com uma descrição de todas as etapas necessárias. Isso será discutido abaixo.

1. Instale o Git e obtenha acesso ao repositório GitLab


Implantei tudo o necessário para iniciar o projeto em uma máquina remota, mas como o objetivo deste manual é me familiarizar com os conceitos básicos da implantação de CI / CD, trabalharemos na máquina local.

Vá para o GitLab na página Projetos, na janela exibida, clique no botão Novo projeto


Defina o nome do projeto, defina o valor Privado no campo Projeto de visibilidade e clique no botão verde Criar projeto .



Parabéns, o projeto no GitLab foi criado.



Agora precisamos implantar o repositório local a partir do qual enviaremos as alterações no GitLab. Para fazer isso, você deve primeiro instalar o Git; durante a instalação, você pode selecionar todos os valores padrão. Se não houver experiência com o git e sua instalação, recomendo que você se familiarize com este curso em www.youtube.com .

Agora você precisa configurar as variáveis ​​de ambiente Git user.name e user.email. Pegamos os valores na página GitLab -> Projeto / Detalhes (obtemos essa página assim que criamos o projeto).

git config --global user.name "user name" git config --global user.email "email@examle.com" 

Abra o Git Bash, para fazer isso, clique em qualquer lugar da área de trabalho e selecione Git Bash Aqui. Agora, inserimos esses dois comandos sequencialmente.

Depois disso, você precisa criar um repositório local, de onde iremos enviar todas as alterações no GitLab. Para fazer isso, crie uma pasta na máquina local, acesse-a, abra o Git Bash e execute esses comandos sequencialmente (eles também estão disponíveis na página GitLab -> Projeto / Detalhes).

git init
git remote add origin
git init
git remote add origin
aqui especifique o caminho para o seu projeto

Agora nosso repositório remoto foi adicionado. Mas antes de começar a fazer alterações no repositório GitLab, você precisa configurar as chaves SSH.

2. Configurando chaves SSH


As chaves SSH são necessárias para transferência segura de dados dos repositórios remotos para o repositório principal do git, através do protocolo SSH. Crie um par de chaves.

Abra o Git Bash e digite:

 ssh-keygen -o -t rsa -b 4096 -C email@example.com 

Em vez de email@example.com, substituímos seu email.

Em seguida, recebemos uma mensagem onde as chaves serão armazenadas. Aqui nós apenas pressionamos Enter. As chaves serão salvas na pasta do formulário:

 C:\Users\User_name\.ssh 

Depois de escolher uma pasta, seremos solicitados a digitar uma senha para as teclas. Você pode pular esta etapa pressionando Enter duas vezes.

Agora você precisa adicionar a chave pública à sua conta do GitLab. Vá para a pasta .ssh e abra o arquivo id _rsa.pub id com o bloco de notas. Copie o conteúdo do arquivo e vá para o GitLab. Aqui você precisa acessar as configurações do usuário (clique no botão no canto superior direito e selecione Configurações).



Vá para a seção Chaves SSH.

Insira a chave pública no campo Chave e clique no botão Adicionar chave .



Agora você precisa salvar a chave privada na máquina remota. Para fazer isso, execute os comandos:

 ssh-agent bash ssh-add ~/.ssh/key 

onde chave é a chave privada gerada (arquivo chamado "id_rsa")
O ssh-agent é um programa para armazenar chaves privadas usadas para autenticação com chaves públicas (no nosso caso, essa é uma chave RSA).

Agora você está pronto para enviar arquivos no GitLab. Verifique se tudo funciona. Vá para o repositório que foi inicializado anteriormente. Adicione o arquivo txt vazio a ele. Depois disso, executamos esses comandos sequencialmente no Git Bash.

 git add . git commit -m "Initial commit" git push -u origin master 

Vá para o GitLab na página Projeto / Detalhes e verifique se tudo está funcionando bem.



3. Criando um corredor GitLab (Shell)


Para iniciar projetos ao avançar para o gitlab, precisamos implantar um corredor. O GitLab Runner é um agente para executar instruções de um arquivo .gitlab-ci.yml especial. Existem vários tipos de corredores. Considere instalar e iniciar um dos mais simples - um shell runner.

O shell-runner permite executar projetos na máquina em que esse runner está instalado. Considere instalar este corredor em nossa máquina local:

1. Crie uma pasta para o corredor, por exemplo C: \ GitLab-Runner

2. Faça o download do corredor no link:
https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-386.exe
Renomeie para gitlab-runner.exe.

3. Execute o PowerShell como administrador.

4. Vá para a nossa pasta:

 cd C:\GitLab-Runner 

5. Digite o link para o GitLab. No GitLab, vá para Configurações-> CI / CD-> Corredores.



6. Digite o token:



7. Digite uma descrição do corredor.

8. Digite as tags para o corredor.

9. Escolha o tipo de corredor - shell.

10. Instale o corredor:

 gitlab-runner install 

11. E corra:

 gitlab-runner start 

Para verificar se o corredor foi iniciado, vá para GitLab -> Configurações -> CI / CD -> Corredores. Um círculo verde significa que o corredor está correndo.



4. Configurando a variável de ambiente


Para executar nosso programa java, precisamos:

1. Instale o java:
https://java.com/en/download/

2. Instale o jdk: https://www.oracle.com/technetwork/java/javase/downloads/index.html

3. Defina variáveis ​​de ambiente.

Para configurar variáveis ​​de ambiente, acesse:
Meu computador -> Propriedades -> Configurações avançadas do ambiente -> Variáveis ​​de ambiente
Aqui, na seção "Variáveis ​​do sistema", crie a variável JAVA_HOME, na linha "Valor da variável", escreva o caminho para o jdk.



Adicione esse valor à variável Path. Você também precisa verificar se existe um caminho para Java.



5. Criação do projeto e seu lançamento


Vamos criar um projeto java simples que exibirá "Hello World!" no console. Coloque-o em nosso repositório local. Será algo parecido com isto:



Aqui eu criei um arquivo .gitlab-ci com a extensão yml.

Conteúdo .gitlab-ci.yml
 image: java:latest stages: - build - execute build: stage: build script: - cd C:\GitAuto\src - javac Main.java artifacts: tags: - first-runner execute: stage: execute script: - cd C:\GitAuto\src - java Main artifacts: tags: - first-runner 


Existem dois estágios - Compilar e Executar. Usando o comando javac, compilamos o código fonte e, usando o comando java, executamos. Em cada etapa, devemos indicar explicitamente qual corredor usaremos. O corredor será determinado pelo valor de sua tag (você pode vê-lo nas configurações do corredor no GitLab).

Após definir o conteúdo do arquivo, vá para o repositório local e abra o Git Bash. Começamos a executar sequencialmente os comandos:

 git add . git commit -m "Initial commit" git push -u origin master 

As alterações foram iniciadas, agora verificaremos se nosso programa foi concluído com êxito. Vá para GitLab -> CI / CD -> Trabalhos, abra o último trabalho:



O programa está completo, você é ótimo!

Source: https://habr.com/ru/post/pt464403/


All Articles