Menangani dependensi pihak pertama dalam alur kerja GitHub - Amazon Q Developer

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