Compilar e publicar artefatos com o Gradle e o Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

O Gradle é uma ferramenta de build popular para aplicativos Java e a ferramenta de build principal para Android. Usando o Azure Pipelines, podemos adicionar a tarefa do Gradle à nossa definição de build e compilar e publicar nossos artefatos de compilação.

Pré-requisitos

Para garantir que todos os pré-requisitos sejam configurados, execute o comando a seguir em um prompt de comando com privilégios elevados para marcar qual versão do Java está instalada em seu computador.

java -version

Se o comando acima não retornar uma versão do Java, volte e instale o Java JDK ou JRE primeiro.

Para confirmar a instalação do Gradle, execute o seguinte comando em um prompt de comando com privilégios elevados:

gradle -v

Configurar a autenticação

  1. Selecione Configurações do usuário e selecione Tokens de acesso pessoal

    Captura de tela mostrando como criar um token de acesso pessoal

  2. Selecione Novo Token e preencha os campos necessários. Selecione o escopo Empacotamento>Leitura e Gravação.

    Captura de tela mostrando como criar um novo token de acesso pessoal.

  3. Selecione Criar quando terminar.

  1. Copie seu token e salve-o em um local seguro.

  2. Crie um novo arquivo em sua pasta .gradle e nomeie-o como gradle.properties. O caminho para a pasta gradle geralmente está em %INSTALLPATH%/gradle/user/home/.gradle/.

  3. Abra o arquivo gradle.properties com um editor de texto e adicione o seguinte snippet:

    vstsMavenAccessToken=<PASTE_YOUR_PERSONAL_ACCESS_TOKEN_HERE>
    
  4. Salve o arquivo quando terminar.

Compilar projetos com a CLI do Gradle

  1. Abra o arquivo build.gradle e verifique se ele começa com o seguinte:

    apply plugin: 'java'
    
  2. Adicione o snippet a seguir ao arquivo build.gradle para baixar o artefato durante o build. Substitua os espaços reservados por groupID, artifactID e versionNumber. Por exemplo: 'compile(group: 'siteOps', name: 'odata-wrappers', version: '1.0.0.0')

    dependencies { 
        compile(group: '<YOUR_GROUP_ID>', name: '<ARTIFACT_ID>', version: '<VERSION_NUMBER>')  
    } 
    

Para testar isso, podemos criar um aplicativo de console Java de exemplo e compilá-lo com o Gradle.

public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello, world!"); 
    } 
} 

Execute o seguinte comando para compilar seu projeto. A saída do build deve retornar: BUILD SUCCESSFUL

gradle build

Usar o Gradle no Azure Pipelines

  1. Execute o comando a seguir para criar o wrapper do Gradle gradlew.

    gradle wrapper
    
  2. Envie suas alterações por push para a ramificação remota. Precisaremos desse arquivo mais tarde quando adicionarmos a tarefa Gradle.

  3. Navegar até a definição do pipeline. Se você não tiver um, crie um pipeline, selecione Usar o editor clássico e selecione o modelo Gradle.

    Captura de tela mostrando como usar o modelo de pipeline do Gradle

  4. Você pode usar as configurações padrão com a tarefa de build gradlew.

    Captura de tela mostrando a tarefa do Gradle

  5. A tarefa Publicar artefatos de build publicará nosso artefato no Azure Pipelines.

    Captura de tela mostrando a tarefa de publicar artefatos.

  6. Selecione Salvar e colocar na fila quando terminar.

  7. Você pode exibir o artefato publicado no Resumo do pipeline depois que a execução for concluída.

    Captura de tela mostrando o artefato publicado no resumo do pipeline.