O Artifact Registry é compatível com pacotes Java criados com Maven e Gradle.
Informações gerais
Para se familiarizar com os pacotes Java no Artifact Registry, consulte o quickstart. Você também pode assistir um vídeo de visão geral.
Quando estiver pronto para saber mais, leia as seguintes informações:
- Crie um repositório de pacotes Java para seus pacotes.
- Aprenda a criar repositórios remotos e virtuais.
- Leia sobre como os repositórios remotos e virtuais podem ser usados neste exemplo de uso de repositório.
- Conceda permissões à conta que se conectará ao repositório. As contas de serviço para integrações comuns com o Artifact Registry têm permissões padrão para repositórios no mesmo projeto.
- Configure as ferramentas:
- Configure a autenticação para Maven ou Gradle.
- Se você quiser usar o sbt como uma ferramenta de build para Scala e Java em vez de Maven ou Gradle, há um plug-in sbt criado pela comunidade disponível (links em inglês). Nesta documentação, não descrevemos a configuração ou o uso dos clientes do Scala.
- Configure o Cloud Build para fazer upload e download de pacotes.
- Saiba mais sobre como implantar em ambientes de execução do Google Cloud.
- Saiba mais sobre o gerenciamento de pacotes.
Snapshot do Maven e versões de lançamento
O Maven distingue entre as versões snapshot e release dos projetos Maven.
Snapshots
Um snapshot é uma versão de pré-lançamento de um projeto Java. O número da versão de um snapshot inclui o sufixo -SNAPSHOT
no Project Object Model (POM). Por exemplo, esta configuração no arquivo pom.xml
é para uma versão 1.0
do projeto que está em desenvolvimento:
<version>1.0-SNAPSHOT</version>
Quando você publica um pacote desse projeto, o Maven 3 anexa automaticamente um carimbo de data/hora ao número da versão do snapshot para que cada versão seja única. O Maven 2 oferece suporte a versões de snapshot não exclusivas para substituir snapshots já existentes em um repositório. Essa abordagem é problemática para reprodutibilidade de builds. É por isso que o Maven 3 não é mais compatível com snapshots não exclusivos.
Os snapshots oferecem uma maneira de publicar de maneira iterativa versões atualizadas de um
pacote de pré-lançamento sem incrementar o número da versão no projeto
Maven sempre que você publicar no repositório. Durante o desenvolvimento,
outros projetos com dependências no pacote podem receber o snapshot
mais recente da versão 1.0
do repositório.
Consulte a especificação da ordem da versão para ver mais detalhes sobre a sintaxe e a ordem de classificação do número de versão do Maven.
Versões
Quando estiver tudo pronto para lançar um pacote, remova o sufixo -SNAPSHOT
do número da versão no arquivo POM e atualize os projetos que dependam do
pacote para que eles usem a versão de lançamento em vez da versão
do snapshot.
Para listar todas as dependências de snapshot, filtre a árvore de dependências com o comando:
mvn dependency:tree -Dincludes=:::*-SNAPSHOT
Política de versão do Artifact Registry
Ao criar um repositório Maven no Artifact Registry, é possível especificar uma política de versão do Maven:
- Nenhum: armazena os pacotes de snapshot e de lançamento. Esta é a configuração padrão.
- Snapshot: armazena apenas pacotes de snapshot.
- Lançamento: armazena somente os pacotes de lançamento.
Se você escolher a política de versão do snapshot, também poderá especificar se o repositório permite versões de snapshot não exclusivas que substituem as versões correspondentes no repositório. Recomendamos o uso de versões exclusivas, já que o Maven 3 não oferece suporte ao modelo de versão não exclusiva.
Visão geral em vídeo (em inglês)
Neste vídeo, você terá uma visão geral do Artifact Registry e de como usar o Artifact Registry com o Cloud Build para trabalhar com pacotes Java. Para mais informações sobre como usar o Cloud Build com o Artifact Registry, consulte Como integrar com o Cloud Build.