As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use CodeArtifact com o Gradle
Depois de ter o token de CodeArtifact autenticação em uma variável de ambiente, conforme descrito em Passe um token de autenticação usando uma variável de ambiente, siga estas instruções para consumir pacotes Maven e publicar novos pacotes em um repositório. CodeArtifact
Tópicos
Buscar dependências
Para buscar dependências CodeArtifact em uma compilação do Gradle, use o procedimento a seguir.
Para buscar dependências CodeArtifact em uma compilação do Gradle
Caso contrário, crie e armazene um token de CodeArtifact autenticação em uma variável de ambiente seguindo o procedimento emPassar um token de autenticação usando uma variável de ambiente.
-
Adicione uma seção
mavenà seçãorepositoriesno arquivobuild.gradledo projeto.maven { url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/' credentials { username "aws" password System.env.CODEARTIFACT_AUTH_TOKEN } }O
urlexemplo anterior é o endpoint do seu CodeArtifact repositório. O Gradle usa o endpoint para se conectar ao repositório. No exemplo,my_domainé o nome do seu domínio;111122223333, o ID do proprietário do domínio emy_repo, o nome do seu repositório. Você pode recuperar o endpoint de um repositório usando o comando.get-repository-endpointAWS CLIPor exemplo, com um repositório nomeado
my_repodentro de um domínio chamadomy_domain, o comando é o seguinte:aws codeartifact get-repository-endpoint --domainmy_domain--domain-owner111122223333--repositorymy_repo--format mavenO comando
get-repository-endpointretornará o endpoint do repositório:url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/'O
credentialsobjeto no exemplo anterior inclui o token de CodeArtifact autenticação que você criou na Etapa 1 que o Gradle usa para se autenticar. CodeArtifactnota
Para usar um endpoint de pilha dupla, use o endpoint.
codeartifact.region.on.aws (Opcional) - Para usar o CodeArtifact repositório como a única fonte para as dependências do seu projeto, remova todas as outras seções de
repositories.build.gradleSe você tiver mais de um repositório, o Gradle pesquisará dependências em cada repositório, na ordem em que estão listadas.Depois de configurar o repositório, você pode adicionar dependências do projeto à seção
dependenciescom a sintaxe padrão do Gradle.dependencies { implementation 'com.google.guava:guava:27.1-jre' implementation 'commons-cli:commons-cli:1.4' testImplementation 'org.testng:testng:6.14.3' }
Buscar plug-ins
Por padrão, o Gradle resolverá plug-ins do Portal de plug-ins do Gradle
Para extrair plug-ins de um CodeArtifact repositório
Caso contrário, crie e armazene um token de CodeArtifact autenticação em uma variável de ambiente seguindo o procedimento emPassar um token de autenticação usando uma variável de ambiente.
Adicione um bloco
pluginManagementao seu arquivosettings.gradle. O blocopluginManagementdeve aparecer antes de qualquer outra declaração emsettings.gradle; consulte o seguinte trecho:pluginManagement { repositories { maven { name 'my_repo' url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/' credentials { username 'aws' password System.env.CODEARTIFACT_AUTH_TOKEN } } } }
Isso garantirá que o Gradle resolva plug-ins do repositório especificado. O repositório deve ter um repositório upstream com uma conexão externa com o Portal de plug-ins do Gradle (por exemplo, gradle-plugins-store) para que os plug-ins do Gradle normalmente exigidos estejam disponíveis para a compilação. Para obter mais informações, consulte a documentação do Gradle
Publicar artefatos
Esta seção descreve como publicar uma biblioteca Java criada com o Gradle em um CodeArtifact repositório.
Primeiro, adicione o plug-in maven-publish à seção plugins do arquivo build.gradle do projeto.
plugins { id 'java-library' id 'maven-publish' }
Em seguida, adicione uma seção publishing ao arquivo build.gradle do projeto.
publishing { publications { mavenJava(MavenPublication) { groupId = 'group-id' artifactId = 'artifact-id' version = 'version' from components.java } } repositories { maven { url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/' credentials { username "aws" password System.env.CODEARTIFACT_AUTH_TOKEN } } } }
O plug-in maven-publish gera um arquivo POM com base no groupId, artifactId e version especificados na seção publishing.
Depois que essas alterações em build.gradle forem concluídas, execute o comando a seguir para criar o projeto e carregá-lo no repositório.
./gradlew publish
Use list-package-versions para verificar se o pacote foi publicado com sucesso.
aws codeartifact list-package-versions --domainmy_domain--domain-owner111122223333--repositorymy_repo--formatmaven\ --namespacecom.company.framework--packagemy-package-name
Exemplo de resultado:
{ "format": "maven", "namespace": "com.company.framework", "package": "example", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }
Para obter mais informações, consulte os tópicos a seguir no site do Gradle:
Executar uma compilação do Gradle no IntelliJ IDEA
Você pode executar uma compilação do Gradle no IntelliJ IDEA que extrai dependências de. CodeArtifact Para se autenticar CodeArtifact, você deve fornecer ao Gradle um token de CodeArtifact autorização. Há três métodos para fornecer um token de autorização.
Método 1: armazenar o token de autorização em
gradle.properties. Use esse método se você conseguir fazer a substituição ou adição ao conteúdo do arquivogradle.properties.Método 2: armazenar o token de autorização em um arquivo separado. Use esse método se você não quiser modificar o arquivo
gradle.properties.Método 3: gerar um novo token de autorização para cada execução usando
awscomo um script em linha nobuild.gradle. Use esse método se quiser que o script do Gradle busque um novo token a cada execução. O token não será armazenado no sistema de arquivos.