Flow menyediakan solusi end-to-end untuk menguji, mem-build, dan mengunggah artefak build proyek Java. Solusi ini membantu Anda dengan cepat menyiapkan pipeline CI/CD guna mengotomatiskan pengujian, kompilasi kode, manajemen dependensi, dan unggahan artefak. Topik ini menjelaskan cara mengonfigurasi pipeline menggunakan templat Java · Test, Build di editor visual.
Langkah 1: Buat pipeline pengujian dan build
-
Masuk ke konsol Alibaba Cloud DevOps, lalu klik Create Pipeline di pojok kanan atas.
-
Pada kotak dialog Select a pipeline template, pilih Java · Test, Build, kemudian klik Create.
Langkah 2: Konfigurasi sumber pipeline
-
Pada tab Process Configuration pipeline baru, klik Add Pipeline Source pada tahap Pipeline Source.
-
Tambahkan sumber kode. Topik ini menggunakan Sample Code Source pra-setel untuk
Javayang disediakan oleh Alibaba Cloud DevOps. Klik Add.
Langkah 3: Konfigurasi pekerjaan pengujian dan build
Templat Java · Test, Build mencakup tiga pekerjaan yang telah ditentukan sebelumnya: Java Code Scan, Maven Unit Testing, dan Java Build Upload. Konfigurasi untuk pekerjaan-pekerjaan ini serupa. Bagian ini menggunakan pekerjaan Java Build Upload sebagai contoh. Pada tab Process Configuration, klik pekerjaan Java Build Upload di tahap Build untuk membuka panel konfigurasinya.
Java build upload
-
Konfigurasi parameter dasar.
Parameter
Deskripsi
Job Name
Masukkan nama kustom untuk pekerjaan, atau gunakan nama default.
Build Cluster
Kluster build berikut didukung:
Build Environment
Lingkungan build berikut didukung:
-
Specify Container Environment (untuk Alibaba Cloud DevOps default build cluster): Flow menjalankan kontainer tertentu pada mesin build dan melakukan proses build dalam lingkungan single-container tersebut. Alibaba Cloud DevOps menyediakan daftar gambar resmi. Anda juga dapat menentukan gambar sendiri sebagai lingkungan runtime.
-
Default VM Environment (hanya didukung untuk private build cluster): Anda harus memilih Specify Build Nodes. Flow menginstal lingkungan dan menjalankan pekerjaan langsung pada mesin build. Untuk mempercepat pekerjaan, kami menyarankan agar SDK dan lingkungan yang diperlukan sudah diinstal terlebih dahulu pada mesin build.
CatatanSelama eksekusi pekerjaan, lingkungan build dialokasikan untuk Anda. Anda memiliki full kontrol atas lingkungan build dan skrip eksekusi pekerjaan.
Download Pipeline Source
Jika Anda mengaktifkan opsi ini, sumber kode yang dikonfigurasi akan diunduh ke direktori kerja yang sesuai. Opsi yang tersedia adalah:
-
Download All Pipeline Sources
-
Do Not Download Pipeline Sources
-
Download Selected Pipeline Sources
-
-
Konfigurasi Task Steps.
Container and VM environment
-
Install Java
Pilih JDK Version dan Maven Version yang diperlukan. Misalnya, pada langkah Install Java, Anda dapat mengatur Step Name menjadi Install Java, JDK Version menjadi JDK 1.8, dan Maven Version menjadi Maven 3.5.2.
-
Execute Command
Masukkan perintah build kustom. Beberapa versi Maven didukung. Perintah-perintah ini dieksekusi di direktori root repositori kode.
Sebagai contoh, masukkan perintah build
mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip. Di bawah bidang perintah, Anda dapat memilih apakah akan Specify Shell dan menambahkan variabel lingkungan kustom di bagian Environment Variables. -
Upload Artifact
Upload to Packages
Parameter:
Parameter
Description
Add Service Connection
Klik Add Service Connection dan ikuti petunjuk untuk membuat koneksi layanan dari Flow ke Packages. Untuk informasi lebih lanjut, lihat Manage service connections.
Repository
Setelah Anda menambahkan koneksi layanan, Anda dapat memilih repositori Generic Artifacts di Packages sebagai repositori target.
CatatanUntuk informasi lebih lanjut tentang repositori Generic Artifacts, lihat Manage generic artifacts.
Artifact Name
Nama ini membedakan artefak dari build yang berbeda dan digunakan oleh komponen deployment. Kami menyarankan penggunaan variabel dinamis. Nilai default-nya adalah
Artifacts_${PIPELINE_ID}. Anda dapat menentukan nama kustom, sepertitarget1.Artifact Version
Versi ini secara unik mengidentifikasi artefak Anda. Anda tidak dapat mendorong versi duplikat dari artefak yang sama. Kami menyarankan penggunaan variabel dinamis, seperti
${DATETIME}.Packaging Path
Tentukan path relatif terhadap direktori root proyek, misalnya
target/. Anda dapat menentukan beberapa path.Include packaging path in artifact
Jika opsi ini dipilih, arsip yang dihasilkan mencakup path packaging lengkap. Jika tidak, hanya berisi file-file tersebut. Jika Anda menentukan beberapa path untuk Packaging Path, opsi ini akan diaktifkan secara otomatis
.
-
Java code scan parameters
|
Parameter |
Deskripsi |
|
Enable Incremental Scan Mode |
Jika opsi ini tidak diaktifkan, pemindaian kode penuh akan dilakukan. |
|
Use Custom Rule Directory |
Jika diaktifkan, Flow menggunakan file aturan |
|
Rule Set |
Jika Use Custom Rule Directory tidak diaktifkan, rule set default akan digunakan. |
|
Subdirectory |
Direktori yang berisi kode yang akan dipindai. Jika tidak ditentukan, pemindaian dijalankan pada root repositori kode. |
|
Exclude Subdirectory |
Direktori atau file yang dikecualikan dari pemindaian. Formatnya mirip dengan file |
|
Redline Information |
Tentukan kriteria keberhasilan untuk pemindaian kode berdasarkan empat metrik berikut:
|
Maven unit testing parameters
|
Parameter |
Deskripsi |
|
Execute Command |
Tentukan perintah pengujian unit Maven kustom. |
|
Test report path |
Path ke file laporan pengujian. Ini harus menunjuk ke sebuah file. Seluruh direktori yang berisi file ini akan diunggah. Contohnya, |
|
Testing tool |
Pilih tool atau framework pengujian, seperti |
Langkah 4: Jalankan pipeline dan lihat hasilnya
-
Setelah selesai mengonfigurasi, klik Save and Run di pojok kanan atas. Pada kotak dialog pop-up, klik Run untuk memulai pipeline. Setelah pipeline dimulai, editor visual menampilkan progres eksekusi setiap tahap. Pertama, tahap Pipeline Source menarik repositori kode. Kemudian, pekerjaan Java Code Scan dan Maven Unit Testing dijalankan secara paralel pada tahap Test. Terakhir, setelah pekerjaan tersebut selesai, pekerjaan Java Build Upload di tahap Build dimulai.
-
Setelah eksekusi pipeline selesai, setiap pekerjaan menghasilkan log. Untuk melihat detailnya, klik Logs pada node pekerjaan tersebut. Berikut adalah contoh log untuk pekerjaan Java Build Upload:
[executionStep begins at 2025-03-25 13:30:45] ###################################################### # name : ArtifactUpload # version : v1.3.91 # description : artifact upload # help url : https://atomgit.com/flow-step/ArtifactUpload.git # build id : e819a91f-8d7c-4e2d-9bfa-658f7fd89f64 ###################################################### 2025-03-25 13:30:45 [INFO] Start to pack artifact 2025-03-25 13:30:45 [INFO] PackInputs, {"projectDir":"/root/workspace/__flow_work/__flow_builds/f8f02d6c-a8fb-41eb-a9a2-e8284ed5240c/workspace/spring-boot_cmBM","sourcePath": ["target"],"filePath":"target","gitIgnore":"false","includePathInArtifact":"false","artifactFullName":"/root/workspace/__flow_work/__flow_builds/f8f02d6c-a8fb-41eb-a9a2-e8284ed5240c/workspace/packages/Artifacts_4032193.tgz"} 2025-03-25 13:30:45 [INFO] Pack single file without file path 2025-03-25 13:30:46 [INFO] use oss endpoint:xxx.aliyuncs.com It's recommended to set 'refreshSTSToken' and 'refreshSTSTokenInterval' to refresh stsToken、accessKeyId、accessKeySecret automatically when sts token has expired 2025-03-25 13:30:46 [INFO] Artifact download URL is: http://xxx oss-cn-beijing-internal.aliyuncs.com/xxx/Artifacts_4032193.tgz 2025-03-25 13:30:46 [INFO] run step successfully!