Como tirar partido das acções de GitHub com 4D

Tradução automática de Deepl

O seu projecto está agora num sistema de controlo de fontes. Isto significa que a gestão de várias versões do seu software, a monitorização de alterações e a integração de correcções ou novas funcionalidades é agora muito mais simples.

Porque não aproveitar também a integração contínua?

Começando com 4D v19, pode lançar a compilação do seu projecto com um comando. Como resultado, tem agora todos os blocos de construção necessários para automatizar a sua cadeia de integração.

Este post no blog dar-lhe-á um exemplo de automatização com o gestor do GitHub e das Acções GitHub.

O que é uma Acção GitHub?

As acções do GitHub permitem-lhe automatizar tarefas. Elas são desencadeadas por eventos tais como a submissão de um código.

Porquê Acções GitHub?

A automatização do fluxo de trabalho é um requisito no mundo actual do desenvolvimento de software. As equipas de desenvolvimento utilizam servidores CI/CD para automatizar os processos contínuos de integração e implementação (CI/CD) no seu ciclo de vida do software.

GitHub Actions permite aos utilizadores construir, testar e entregar o seu código directamente do GitHub sem utilizar um servidor externo como o Jenkins ou o TeamCity. GitHub aloja máquinas virtuais em sistemas operativos Linux, Windows, e MacOS.

Como utilizar as acções GitHub?

É necessário criar um fluxo de trabalho. Um fluxo de trabalho é um procedimento automatizado que se adiciona ao seu repositório. No separador de acções, pode escolher um do catálogo de fluxos de trabalho ou criar o seu próprio.

Neste exemplo, utilizamos o “fluxo de trabalho simples” proposto por Github:

Isto criou um script na pasta “.github/fluxos de trabalho” do nosso repositório. Neste guião, pode definir:

  • o evento de disparo: em push/pull/schedule
  • o sistema operativo da máquina virtual:runs-on

Para mais detalhes sobre sintaxes e possibilidades, consulte a documentação do GitHub.

blank

A seguir, alteramos o ficheiro README.md no nosso repositório, o que desencadeia o fluxo de trabalho. No separador de acção, a modificação é visível, o fluxo de trabalho está em fila de espera:

blank

Voilà! O script foi executado.

Temos agora acesso à informação do SO, e à máquina virtual utilizada, verificando se corresponde à configuração que solicitámos.

Todos os registos do nosso script estão agora visíveis:

blank

Exemplo concreto

Agora que vimos como criar e configurar acções GitHub, eis um fluxo de trabalho criado por Eric Marchand.

Eric é um dos nossos 4D para os criadores da equipa iOS. Ele desenvolveu várias acções de gitLab para seu próprio uso, utilizadas num servidor GitLab para os nossos repositórios privados e no GitHub para o público.

Aqui está um exemplo de como compilar um projecto e publicar o lançamento em GitHub:

Em primeiro lugar, temos um projecto 4D com código partilhado que compila outros projectos passados em parâmetros durante o lançamento (com um guião bash em macOS runner). Este projecto converte os erros de compilação para o formato de registo GitHub. É armazenado num repositório Github contendo acções tais como compilação, geração de uma versão, etc. Estas acções podem então ser utilizadas em qualquer outro projecto.

Em segundo lugar, para executar o projecto e assim chamar uma acção tal como a compilação, precisamos de executar uma aplicação 4D. Uma aplicação 4D está disponível para download num servidor. Precisa de ser instalada e executada em servidores GitHub. Precisará de adicionar a chave SERVER_URL no parâmetro“Action Secret” do seu repositório para cada projecto.

Finalmente, você cria fluxos de trabalho desencadeados por um pedido puxado nos seus projectos, que chama o fluxo de trabalho de “construção” do seu repositório de “acção centralizada”.

Encontra o repositório com a base e os diferentes fluxos de trabalho e um exemplo da sua integração num projecto.

Diz-nos o que pensas, juntando-te à conversa no Fórum 4D!

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.