Introdução

Neste tutorial, vamos explorar as melhores práticas de Continuous Integration (CI) e Continuous Deployment (CD) especialmente no contexto do Microsoft Dynamics 365 Business Central (BC). Usaremos o Azure DevOps como ferramenta principal de automação de pipelines e o AL Language para desenvolver extensões do Business Central. Você aprenderá a configurar um ambiente de CI/CD que facilitará a integração contínua e a entrega contínua de suas aplicações, permitindo a automação de testes, build e deployment. Esta abordagem não só otimiza o processo de desenvolvimento mas também melhora a colaboração da equipe e a qualidade das entregas, sendo ideal para desenvolvedores que trabalham com o Business Central e desejam modernizar suas práticas de desenvolvimento.

Etapas

  1. Configuração do Azure DevOps

    Crie uma conta no Azure DevOps e configure um novo projeto. Acesse a seção ‘Repos’ para criar um repositório Git onde você armazenará o código-fonte das extensões do Business Central. Certifique-se de habilitar as permissões adequadas para os membros da equipe.

    commands
    # Criar um novo projeto
    1. Acesse o Azure DevOps.
    2. Clique em 'New Project'.
    3. Preencha as informações necessárias e clique em 'Create'.
    # Configurar repositório Git
    1. Navegue até a seção 'Repos'.
    2. Clique em 'Files' e depois em 'New Repository'.
    3. Siga as instruções para criar um repositório.

  2. Criação do Projeto AL no Business Central

    Utilize a extensão AL para Visual Studio Code para criar um novo projeto AL. O comando AL irá gerar a estrutura básica do projeto com todos os arquivos necessários, incluindo o arquivo de configuração app.json.

    commands
    # Criar um novo projeto AL
    1. Abra o Visual Studio Code.
    2. Instale a extensão AL Language caso não tenha feito isso.
    3. Pressione Ctrl + Shift + P e digite 'AL: Go!' para iniciar um novo projeto.
    4. Escolha um diretório para armazenar o projeto.

  3. Configuração do arquivo app.json

    No seu projeto AL, edite o arquivo app.json para definir as propriedades do aplicativo, como ID, nome, versão e publisher. Essas informações são essenciais para o deployment no Business Central.

    app.json
    {
      "id": "{your-app-id}",
      "name": "My Business Central App",
      "publisher": "MyCompany",
      "version": "1.0.0",
      "platform": "17.0.0",
      "application": "{your-app-url}"
    }

  4. Criação de um Pipeline de CI/CD

    Na seção ‘Pipelines’ do Azure DevOps, crie um novo pipeline configurando-o para monitorar o repositório que você criou. Configure o arquivo YAML que descreverá os passos necessários para compilar, testar e publicar seu aplicativo Business Central.

    azure-pipelines.yml
    trigger:
      branches:
        include:
          - main
    
    pool:
      vmImage: 'windows-latest'
    
    steps:
    - task: ALGo@1
      inputs:
        sourceDirectory: '$(System.DefaultWorkingDirectory)'
        outputDirectory: '$(System.ArtifactsDirectory)'
        outputDirectoryForDependencies: '$(System.ArtifactsDirectory)'
        target: 'Publish'
        deploymentTarget: 'Dev'
        bcSubscription: 'MyBCSubscription'
        workspace: 'MyWorkspace'
    - publish: '$(System.ArtifactsDirectory)'
      artifact: drop

  5. Configuração de Testes Automatizados

    Utilize a biblioteca Test Toolkit do AL para implementar testes automatizados em seu aplicativo. Esses testes serão executados automaticamente após cada build no CI/CD, aumentando a qualidade do seu código.

    ExampleTest.al
    codeunit 50100 "MyAppTests"
    {
        [TestMethod]
        procedure TestMyFunction()
        var
            result: Boolean;
        begin
            result := MyFunction();
            Assert.IsTrue(result);
        end;
    }

  6. Executando o Pipeline

    Inicie o pipeline manualmente ou faça um commit no seu repositório para acionar o pipeline automaticamente. Monitore os logs de build para verificar se todos os passos foram executados com sucesso e se os testes passaram.

    commands
    # Iniciar o pipeline
    1. Navegue até a seção 'Pipelines'.
    2. Clique no pipeline criado e depois em 'Run pipeline'.
    3. Acompanhe o progresso em tempo real.

Conclusão

Neste tutorial, nós abordamos as principais práticas de CI/CD utilizando Azure DevOps para automação do ciclo de vida de desenvolvimento de extensões do Business Central com AL Language. Você aprendeu a configurar seu ambiente, criar um projeto, configurar um pipeline para build e deploy, bem como implementar testes automatizados. Ao adotar essas práticas, a entrega de software se torna mais eficiente, menos propensa a erros e permite uma rápida iteração nas aplicações, beneficiando toda a equipe de desenvolvimento.

Hashtags

#BusinessCentral #ALLanguage #AzureDevOps #CICD #DevOps #Automação