Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GunakanCodeArtifactdengan Gradle
Setelah Anda memilikiCodeArtifacttoken autentikasi dalam variabel lingkungan seperti yang dijelaskan dalamLulus token autentikasi menggunakan variabel lingkungan, ikuti petunjuk ini untuk menggunakan paket Maven dari, dan menerbitkan paket baru ke, aCodeArtifactrepositori.
Topik
Mengambil dependensi
Untuk mengambil dependensi dariCodeArtifactdalam build Gradle, gunakan prosedur berikut.
Untuk mengambil dependensi dariCodeArtifactdalam build Gradle
Jika belum, buat dan simpanCodeArtifacttoken autentikasi dalam variabel lingkungan dengan mengikuti prosedur diTeruskan token auth menggunakan variabel lingkungan.
-
Menambahkan
maven
bagian kerepositories
bagian dalam proyekbuild.gradle
berkas.maven { url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/' credentials { username "aws" password System.env.CODEARTIFACT_AUTH_TOKEN } }The
url
Dalam contoh sebelumnya adalahCodeArtifacttitik akhir repositori. Gradle menggunakan titik akhir untuk terhubung ke repositori Anda. Dalam sampel,my_domain
adalah nama domain Anda,111122223333
adalah ID pemilik domain, danmy_repo
adalah nama repositori Anda. Anda dapat mengambil titik akhir repositori dengan menggunakan perintahget-repository-endpoint
AWS CLI.Misalnya, dengan repositori bernama
my_repo
di dalam domain bernamamy_domain
, perintah yang digunakan adalah sebagai berikut:aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format mavenParameter perintah
get-repository-endpoint
akan mengembalikan titik akhir repositori:url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/'The
credentials
objek dalam contoh sebelumnya termasukCodeArtifacttoken autentikasi yang Anda buat di Langkah 1 yang digunakan Gradle untuk mengautentikasiCodeArtifact. (Opsional) - Untuk menggunakanCodeArtifactrepositori sebagai satu-satunya sumber untuk dependensi proyek Anda, hapus bagian lain di
repositories
daribuild.gradle
. Jika Anda memiliki lebih dari satu repositori, Gradle menelusuri setiap repositori untuk dependensi sesuai urutan pencantumannya.Setelah mengonfigurasi repositori, Anda dapat menambahkan dependensi proyek ke bagian
dependencies
dengan sintaks Gradle standar.dependencies { implementation 'com.google.guava:guava:27.1-jre' implementation 'commons-cli:commons-cli:1.4' testImplementation 'org.testng:testng:6.14.3' }
Mengambil plugin
Secara default Gradle akan menyelesaikan plugin dari Portal Plugin Gradle
Untuk menarik plugin dariCodeArtifactrepositori
Jika belum, buat dan simpanCodeArtifacttoken autentikasi dalam variabel lingkungan dengan mengikuti prosedur diTeruskan token auth menggunakan variabel lingkungan.
Menambahkan
pluginManagement
blokir ke Andasettings.gradle
berkas. ThepluginManagement
blok harus muncul sebelum pernyataan lain disettings.gradle
, lihat cuplikan berikut: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 } } } }
Hal ini akan memastikan bahwa Gradle menyelesaikan plugin dari repositori yang ditentukan. Repositori harus memiliki repositori hulu dengan koneksi eksternal ke Portal Plugin Gradle (mis. gradle-plugins-store
) sehingga plugin Gradle yang umum diperlukan tersedia untuk build. Untuk informasi selengkapnya, lihat Dokumentasi Gradle
Memublikasikan artefak
Bagian ini menjelaskan cara mempublikasikan pustaka Java yang dibangun dengan Gradle keCodeArtifactrepositori.
Pertama, tambahkan plugin maven-publish
ke bagian plugins
dari file build.gradle
proyek.
plugins { id 'java-library' id 'maven-publish' }
Selanjutnya, tambahkan bagian publishing
ke file build.gradle
proyek.
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 } } } }
Plugin maven-publish
menghasilkan file POM berdasarkan groupId
, artifactId
, dan version
yang ditentukan dalam bagian publishing
.
Setelah perubahan ke build.gradle
selesai, jalankan perintah berikut untuk membangun proyek dan mengunggah ke repositori.
./gradlew publish
Gunakan list-package-versions
untuk memeriksa bahwa paket berhasil dipublikasikan.
aws codeartifact list-package-versions --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatmaven
\ --namespacecom.company.framework
--packagemy-package-name
Contoh output:
{ "format": "
maven
", "namespace": "com.company.framework
", "package": "example
", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }
Untuk informasi selengkapnya, lihat topik berikut di situs web Gradle:
Menjalankan build Gradle di IntelliJ IDEA
Anda dapat menjalankan build Gradle di IntelliJ IDEA yang menarik dependensi dariCodeArtifact. Untuk mengautentikasi denganCodeArtifact, Anda harus memberikan Gradle denganCodeArtifacttoken otorisasi. Ada tiga metode untuk menyediakan token auth.
Metode 1: Menyimpan token autentikasi di
gradle.properties
. Gunakan metode ini jika Anda dapat menimpa atau menambah isigradle.properties
berkas.Metode 2: Menyimpan token autentikasi dalam file terpisah. Gunakan metode ini jika Anda tidak ingin memodifikasi file
gradle.properties
.Metode 3: Menghasilkan token autentikasi baru untuk setiap proses dengan menjalankan
aws
sebagai skrip inline dibuild.gradle
. Gunakan metode ini jika Anda ingin skrip Gradle mengambil token baru pada setiap proses. Token tidak akan disimpan di sistem file.