Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menangani dependensi pihak pertama dalam alur kerja GitHub
Anda dapat menyempurnakan GitHub alur kerja untuk menangani dependensi pihak pertama saat menggunakan Amazon Q Developer untuk transformasi kode.
Alur kerja Pengembang Amazon Q standar menangani proyek dengan dependensi Maven publik. Namun, proyek perusahaan sering menyertakan dependensi pihak pertama, termasuk Java pribadi ARchive (file JAR) yang tidak tersedia di repositori publik. Alur kerja yang disempurnakan ini memperluas konfigurasi standar untuk mendukung dependensi publik dan pribadi.
Kasus penggunaan untuk alur kerja yang disempurnakan
Gunakan konfigurasi GitHub alur kerja yang disempurnakan jika proyek Anda memiliki:
-
Dependensi JAR pribadi atau internal
-
Pustaka utilitas khusus tidak tersedia di Maven Central
-
Membangun kegagalan dengan
Could not resolve dependencies
kesalahan
Contoh Konfigurasi
Contoh berikut menunjukkan konfigurasi alur kerja lengkap yang menangani dependensi pihak pertama:
name: Q Code Transformation on: push: branches: - 'Q-TRANSFORM-issue-*' env: MAVEN_CLI_OPTS: >- -Djava.version=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} -Dmaven.compiler.source=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} -Dmaven.compiler.target=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} jobs: q-code-transformation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: java-version: ${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '8' }} distribution: 'temurin' - name: Cache Maven dependencies uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Install First-Party Dependencies run: | mvn install:install-file \ -Dfile=./your-library/built-library/1.0.0/your-library-1.0.0.jar \ -DgroupId=com.yourcompany.samples \ -DartifactId=your-library \ -Dversion=1.0.0 \ -Dpackaging=jar - name: Build and copy dependencies run: | mvn ${{ env.MAVEN_CLI_OPTS }} verify mvn ${{ env.MAVEN_CLI_OPTS }} dependency:copy-dependencies -DoutputDirectory=dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -Dmdep.addParentPoms=true - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: q-code-transformation-dependencies path: dependencies - name: Debug information if: failure() run: | echo "Branch: ${{ github.ref_name }}" echo "Commit message: ${{ github.event.head_commit.message }}" echo "Java version logic result: ${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '8' }}" echo "Local Maven repository contents:" find ~/.m2/repository/com/yourcompany/samples -name "*.jar" 2>/dev/null || echo "No your-library found in local repo" java -version mvn -version
Komponen kunci dari alur kerja yang disempurnakan
GitHub Alur kerja yang ditingkatkan memiliki beberapa komponen utama:
-
Instalasi ketergantungan pihak pertama
Alur kerja mencakup langkah penting untuk menginstal dependensi pribadi menggunakan perintah Maven.
install:install-file
Ini memastikan dependensi pribadi Anda tersedia di repositori Maven lokal selama transformasi. -
Penanganan versi Java dinamis
Alur kerja secara otomatis beralih antara Java 8 dan Java 17 berdasarkan status transformasi, menggunakan variabel lingkungan untuk mengelola properti kompiler.
-
Konfigurasi Maven
Alur kerja yang disempurnakan mencakup konfigurasi Maven yang komprehensif dengan:
-
Caching ketergantungan untuk meningkatkan kinerja
-
Manajemen properti kompiler lengkap
-
Pelestarian tata letak repositori
-
Penanganan file POM
-
-
Langkah-langkah implementasi
-
Identifikasi dependensi pribadi Anda di
pom.xml
-
Atur file JAR dalam struktur repositori Anda
-
Sesuaikan alur kerja dengan jalur dan koordinat spesifik Anda
-
Uji alur kerja pada cabang yang cocok dengan pola
Q-TRANSFORM-issue-*
-
-
Pemecahan Masalah
Alur kerja menyertakan langkah informasi debug yang diaktifkan saat gagal, dengan menyediakan:
-
Informasi cabang
-
Detail pesan komit
-
Konfigurasi versi Java
-
Isi repositori Maven lokal
-
Informasi versi Java dan Maven
-