Flow, Java projeleri için test etme, derleme ve derleme yapıtlarını yükleme konusunda uçtan uca bir çözüm sunar. Görsel düzenleyicideki Java · Test, Build şablonunu kullanarak CI/CD işlem hattınızı hızlıca kurabilir; testleri, kod derlemeyi, bağımlılık yönetimini ve yapıt yüklemelerini otomatikleştirebilirsiniz.
1. Adım: Test ve derleme işlem hattı oluşturun
Alibaba Cloud DevOps konsolunda oturum açın ve sağ üst köşede Create Pipeline seçeneğine tıklayın.
Select a pipeline template iletişim kutusunda Java · Test, Build seçeneğini belirleyin ve Create düğmesine tıklayın.
2. Adım: İşlem hattı kaynağını yapılandırın
Yeni oluşturduğunuz işlem hattının Process Configuration sekmesinde, Pipeline Source aşamasında Add Pipeline Source seçeneğine tıklayın.
Bir kod kaynağı ekleyin. Bu örnekte Alibaba Cloud DevOps tarafından sunulan
Javaiçin önceden ayarlanmış Sample Code Source kullanılmaktadır. Add seçeneğine tıklayın.
3. Adım: Test ve derleme işlerini yapılandırın
Java · Test, Build şablonu; Java Code Scan, Maven Unit Testing ve Java Build Upload olmak üzere üç önceden tanımlanmış iş içerir. Yapılandırmaları benzerdir. Bu bölümde örnek olarak Java Build Upload işi ele alınmaktadır. Process Configuration sekmesinde, Derleme aşamasındaki Java Build Upload işine tıklayarak yapılandırma panelini açın.
Java build upload
-
Temel parametreleri yapılandırın.
Parametre
Açıklama
Job Name
İş için özel bir ad girin veya varsayılan adı kullanın.
Build Cluster
Aşağıdaki derleme kümeleri desteklenir:
Build Environment
Aşağıdaki derleme ortamları desteklenir:
-
Specify Container Environment (Alibaba Cloud DevOps varsayılan derleme kümesi için): Flow, derleme makinesinde belirtilen bir konteyner başlatır ve derlemeyi bu tek konteynerli ortamda gerçekleştirir. Alibaba Cloud DevOps, resmi görüntüler listesi sağlar. Çalışma zamanı ortamı olarak kendi görüntünüzü de belirtebilirsiniz.
-
Default VM Environment (yalnızca özel derleme kümeleri için desteklenir): Specify Build Nodes seçeneğini belirlemeniz gerekir. Flow, ortamı yükler ve işi doğrudan derleme makinesinde çalıştırır. İşlemi hızlandırmak için gerekli SDK'ları ve ortamı derleme makinesine önceden yüklemenizi öneririz.
Notİş yürütme sırasında derleme ortamı ve iş yürütme betiği üzerinde tam kontrole sahipsiniz.
Download Pipeline Source
Etkinleştirildiğinde, yapılandırılan kod kaynağı ilgili çalışma dizinine indirilir. Kullanılabilir seçenekler şunlardır:
-
Download All Pipeline Sources
-
Do Not Download Pipeline Sources
-
Download Selected Pipeline Sources
-
-
Task Steps öğesini yapılandırın.
Konteyner ve VM ortamı
-
Install Java
Gerekli JDK Version ve Maven Version değerlerini seçin. Örneğin, Step Name alanını Install Java, JDK Version alanını JDK 1.8 ve Maven Version alanını Maven 3.5.2 olarak ayarlayabilirsiniz.
-
Execute Command
Özel derleme komutlarını girin. Birden fazla Maven sürümü desteklenir. Bu komutlar kod deposunun kök dizininde yürütülür.
Örneğin,
mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skipderleme komutunu girin. Komut alanının altında Specify Shell seçeneğini belirleyip belirlemeyeceğinizi seçebilir ve Environment Variables bölümünde özel ortam değişkenleri ekleyebilirsiniz. -
Upload Artifact
Upload to Packages
Parametreler:
Parametre
Açıklama
Add Service Connection
Add Service Connection seçeneğine tıklayın ve Flow ile Packages arasında bir hizmet bağlantısı oluşturmak için istemleri izleyin. Daha fazla bilgi için bkz. Manage service connections.
Repository
Hizmet bağlantısını ekledikten sonra, hedef depo olarak Packages içindeki bir Generic Artifacts deposunu seçebilirsiniz.
NotGeneric Artifacts depoları hakkında daha fazla bilgi için bkz. Manage generic artifacts.
Artifact Name
Farklı derlemelerden gelen yapıtları ayırt eder ve dağıtım bileşenleri tarafından kullanılır. Dinamik değişkenler kullanmanızı öneririz. Varsayılan değer
Artifacts_${PIPELINE_ID}şeklindedir.target1gibi özel bir ad belirtebilirsiniz.Artifact Version
Sürüm, yapıtınızı benzersiz şekilde tanımlar. Aynı yapıtın yinelenen sürümleri gönderilemez.
${DATETIME}gibi dinamik bir değişken kullanmanızı öneririz.Packaging Path
Projenin kök dizinine göre göreceli yolu belirtin; örneğin
target/. Birden fazla yol belirtebilirsiniz.Include packaging path in artifact
Bu seçenek seçildiğinde, oluşturulan arşiv tam paketleme yolunu içerir. Aksi takdirde yalnızca dosyaları içerir. Packaging Path için birden fazla yol belirtirseniz bu seçenek otomatik olarak etkinleşir
.
-
Java code scan parameters
|
Parametre |
Açıklama |
|
Enable Incremental Scan Mode |
Bu seçenek etkinleştirilmezse tam kod taraması yapılır. |
|
Use Custom Rule Directory |
Etkinleştirildiğinde Flow, kod deponuzdaki |
|
Rule Set |
Use Custom Rule Directory etkinleştirilmezse varsayılan kural kümesi kullanılır. |
|
Subdirectory |
Taranacak kodu içeren dizin. Belirtilmezse tarama kod deposunun kök dizininde çalışır. |
|
Exclude Subdirectory |
Taramadan hariç tutulacak dizinler veya dosyalar. Biçim, bir |
|
Redline Information |
Aşağıdaki dört ölçüte göre kod taramasının başarı kriterlerini tanımlayın:
|
Maven unit testing parameters
|
|
|
|
|
|
|
|
|
|
|
|
4. Adım: İşlem hattını çalıştırın ve sonuçları görüntüleyin
Yapılandırmayı tamamladıktan sonra sağ üst köşedeki Save and Run seçeneğine tıklayın. İletişim kutusunda işlem hattını başlatmak için Run seçeneğine tıklayın. Görsel düzenleyici her aşamanın yürütme ilerlemesini gösterir: Pipeline Source aşaması önce kod deposunu çeker, ardından Test aşamasındaki Java Code Scan ve Maven Unit Testing işleri paralel olarak çalışır ve son olarak Build aşamasındaki Java Build Upload işi başlar.
-
Bir işlem hattı çalıştırması tamamlandığında her iş bir günlük oluşturur. Ayrıntıları görüntülemek için bir iş düğümündeki Logs seçeneğine tıklayın. Aşağıda Java Build Upload işi için örnek bir günlük verilmiştir:
[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!