Memecahkan masalah dengan alur kerja - Amazon CodeCatalyst

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah dengan alur kerja

Lihat bagian berikut untuk memecahkan masalah yang terkait dengan alur kerja di Amazon. CodeCatalyst Untuk informasi lebih lanjut tentang alur kerja, lihat Bangun, uji, dan terapkan dengan alur kerja di CodeCatalyst.

Bagaimana cara memperbaiki pesan “Alur kerja tidak aktif”?

Masalah: Di CodeCatalyst konsol, di bawah CI/CD, Alur kerja, alur kerja Anda muncul dengan pesan berikut:

Workflow is inactive.

Pesan ini menunjukkan bahwa file definisi alur kerja berisi pemicu yang tidak berlaku untuk cabang yang Anda gunakan saat ini. Misalnya, file definisi alur kerja Anda mungkin berisi PUSH pemicu yang mereferensikan main cabang Anda, tetapi Anda berada di cabang fitur. Karena perubahan yang Anda buat di cabang fitur tidak berlakumain, dan tidak akan memulai alur kerja berjalanmain, CodeCatalyst nonaktifkan alur kerja di cabang dan tandai sebagai. Inactive

Kemungkinan perbaikan:

Jika Anda ingin memulai alur kerja di cabang fitur Anda, Anda dapat melakukan hal berikut:

  • Di cabang fitur Anda, dalam file definisi alur kerja, hapus Branches properti dari Triggers bagian sehingga terlihat seperti ini:

    Triggers: - Type: PUSH

    Konfigurasi ini menyebabkan pemicu diaktifkan saat push ke cabang mana pun, termasuk cabang fitur Anda. Jika pemicu diaktifkan, CodeCatalyst akan memulai alur kerja berjalan menggunakan file definisi alur kerja dan file sumber di cabang apa pun yang Anda dorong.

  • Di cabang fitur Anda, dalam file definisi alur kerja, hapus Triggers bagian dan jalankan alur kerja secara manual.

  • Di cabang fitur Anda, dalam file definisi alur kerja, ubah PUSH bagian tersebut sehingga mereferensikan cabang fitur Anda daripada cabang lain (sepertimain, misalnya).

penting

Berhati-hatilah untuk tidak melakukan perubahan ini jika Anda tidak bermaksud menggabungkannya untuk kembali ke main cabang Anda.

Untuk informasi selengkapnya tentang mengedit file definisi alur kerja, lihatMembuat alur kerja.

Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat Memulai alur kerja berjalan secara otomatis dengan pemicu.

Bagaimana cara memperbaiki kesalahan “Definisi alur kerja memiliki n kesalahan”?

Masalah: Anda melihat salah satu pesan kesalahan berikut:

Kesalahan 1:

Di halaman CI/CD, alur kerja, di bawah nama alur kerja Anda, Anda melihat:

Workflow definition has n errors

Kesalahan 2:

Saat mengedit alur kerja, Anda memilih tombol Validasi dan pesan berikut muncul di bagian atas konsol: CodeCatalyst

The workflow definition has errors. Fix the errors and choose Validate to verify your changes.

Kesalahan 3:

Setelah menavigasi ke halaman detail alur kerja Anda, Anda melihat kesalahan berikut di bidang definisi Alur Kerja:

n errors

Kemungkinan perbaikan:

  • Pilih CI/CD, pilih Alur kerja, dan pilih nama alur kerja yang memiliki kesalahan. Di bidang Definisi alur kerja di dekat bagian atas, pilih tautan ke kesalahan. Detail tentang kesalahan muncul di bagian bawah halaman. Ikuti tips pemecahan masalah dalam kesalahan untuk memperbaiki masalah.

  • Pastikan bahwa file definisi alur kerja adalah file YAMG.

  • Pastikan properti YAMB dalam file definisi alur kerja bersarang pada tingkat yang tepat. Untuk melihat bagaimana properti harus disarangkan dalam file definisi alur kerja, lihatAlur kerja definisi YAMAL, atau lihat dokumentasi tindakan Anda, yang ditautkan ke from. Menambahkan tindakan ke CodeCatalyst alur kerja

  • Pastikan tanda bintang (*) dan karakter khusus lainnya lolos dengan benar. Untuk menghindarinya, tambahkan tanda kutip tunggal atau ganda. Sebagai contoh:

    Outputs: Artifacts: - Name: myartifact Files: - "**/*"

    Untuk informasi selengkapnya tentang karakter khusus dalam file definisi alur kerja, lihatPedoman dan konvensi sintaks.

  • Pastikan properti YAMB dalam file definisi alur kerja menggunakan kapitalisasi yang tepat. Untuk informasi lebih lanjut tentang aturan casing, lihatPedoman dan konvensi sintaks. Untuk menentukan casing yang benar dari setiap properti, lihatAlur kerja definisi YAMAL, atau konsultasikan dokumentasi tindakan Anda, yang terkait dengan dariMenambahkan tindakan ke CodeCatalyst alur kerja.

  • Pastikan bahwa SchemaVersion properti hadir dan diatur ke versi yang benar dalam file definisi alur kerja. Untuk informasi selengkapnya, lihat SchemaVersion.

  • Pastikan bahwa Triggers bagian dalam file definisi alur kerja mencakup semua properti yang diperlukan. Untuk menentukan properti yang diperlukan, pilih pemicu di editor visual dan cari bidang yang tidak memiliki informasi, atau lihat dokumentasi referensi pemicu diTriggers.

  • Pastikan bahwa DependsOn properti dalam file definisi alur kerja dikonfigurasi dengan benar dan tidak memperkenalkan dependensi melingkar. Untuk informasi selengkapnya, lihat Mengkonfigurasi tindakan untuk bergantung pada tindakan lain.

  • Pastikan bahwa Actions bagian dalam file definisi alur kerja menyertakan setidaknya satu tindakan. Untuk informasi selengkapnya, lihat Tindakan.

  • Pastikan bahwa setiap tindakan mencakup semua properti yang diperlukan. Untuk menentukan properti yang diperlukan, pilih tindakan di editor visual dan cari bidang yang tidak memiliki informasi, atau lihat dokumentasi tindakan Anda, yang ditautkan ke dariMenambahkan tindakan ke CodeCatalyst alur kerja.

  • Pastikan bahwa semua artefak input memiliki artefak keluaran yang sesuai. Untuk informasi selengkapnya, lihat Mendefinisikan artefak keluaran.

  • Pastikan bahwa variabel yang didefinisikan dalam satu tindakan diekspor sehingga mereka dapat digunakan dalam tindakan lain. Untuk informasi selengkapnya, lihat Mengekspor variabel sehingga tindakan lain dapat menggunakannya.

Bagaimana cara memperbaiki kesalahan “Tidak dapat menemukan kredensil” dan “ExpiredToken”?

Masalah: Saat bekerjaTutorial: Menyebarkan aplikasi ke Amazon EKS, Anda melihat salah satu atau kedua pesan kesalahan berikut di jendela terminal mesin pengembangan Anda:

Unable to locate credentials. You can configure credentials by running "aws configure".

ExpiredToken: The security token included in the request is expired

Kemungkinan perbaikan:

Kesalahan ini menunjukkan bahwa kredensil yang Anda gunakan untuk mengakses AWS layanan telah kedaluwarsa. Dalam hal ini, jangan jalankan aws configure perintah. Sebagai gantinya, gunakan petunjuk berikut untuk menyegarkan kunci AWS akses dan token sesi Anda.

Untuk menyegarkan kunci AWS akses dan token sesi
  1. Pastikan Anda memiliki URL portal AWS akses, nama pengguna, dan kata sandi untuk pengguna yang Anda gunakan untuk melengkapi tutorial Amazon EKS (codecatalyst-eks-user). Anda seharusnya telah mengkonfigurasi item ini ketika Anda menyelesaikan Langkah 1: Siapkan mesin pengembangan Anda tutorial.

    catatan

    Jika Anda tidak memiliki informasi ini, buka halaman codecatalyst-eks-user detail di Pusat Identitas IAM, pilih Atur ulang kata sandi, Hasilkan kata sandi satu kali [...] , dan Atur ulang kata sandi lagi untuk menampilkan informasi di layar.

  2. Lakukan salah satu hal berikut ini:

    • Rekatkan URL portal AWS akses ke bilah alamat browser Anda.

      Atau

    • Segarkan halaman portal AWS akses jika sudah dimuat.

  3. Masuk dengan nama codecatalyst-eks-user pengguna dan kata sandi, jika Anda belum masuk.

  4. Pilih Akun AWS, lalu pilih nama yang Akun AWS Anda tetapkan codecatalyst-eks-user pengguna dan set izin.

  5. Di samping nama set izin (codecatalyst-eks-permission-set), pilih Baris perintah atau akses terprogram.

  6. Salin perintah di tengah halaman. Mereka terlihat mirip dengan yang berikut:

    export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" export AWS_SESSION_TOKEN="session-token"

    ... di mana sesi-token adalah string acak panjang.

  7. Tempelkan perintah ke prompt terminal Anda di mesin pengembangan Anda dan tekan Enter.

    Kunci baru dan token sesi dimuat.

    Anda sekarang telah menyegarkan kredensialnya. kubectlPerintah AWS CLIeksctl,, dan sekarang harus berfungsi.

Bagaimana cara memperbaiki kesalahan “Tidak dapat terhubung ke server”?

Masalah: Saat mengerjakan tutorial yang dijelaskan diTutorial: Menyebarkan aplikasi ke Amazon EKS, Anda melihat pesan kesalahan yang mirip dengan yang berikut ini di jendela terminal mesin pengembangan Anda:

Unable to connect to the server: dial tcp: lookup long-string.gr7.us-west-2.eks.amazonaws.com on 1.2.3.4:5: no such host

Kemungkinan perbaikan:

Kesalahan ini biasanya menunjukkan bahwa kredenal yang digunakan kubectl utilitas untuk terhubung ke kluster Amazon EKS Anda telah kedaluwarsa. Untuk mengatasi masalah ini, segarkan kredensi dengan memasukkan perintah berikut di prompt terminal:

aws eks update-kubeconfig --name codecatalyst-eks-cluster --region us-west-2

Di mana:

  • codecatalyst-eks-clusterdiganti dengan nama cluster Amazon EKS Anda.

  • us-west-2 diganti dengan Wilayah AWS tempat cluster Anda digunakan.

Mengapa CodeDeploy bidang hilang dari editor visual?

Masalah: Anda menggunakan tindakan Deploy to Amazon ECS, dan Anda tidak melihat CodeDeploy bidang seperti CodeDeploy AppSpecdi editor visual alur kerja. Masalah ini dapat terjadi karena layanan Amazon ECS yang Anda tentukan di bidang Layanan tidak dikonfigurasi untuk melakukan penerapan biru/hijau.

Kemungkinan perbaikan:

Bagaimana cara memperbaiki kesalahan kemampuan IAM?

Masalah: Anda menggunakan tindakan AWS CloudFormation tumpukan Deploy, dan Anda melihat ##[error] requires capabilities: [capability-name] di log tindakan AWS CloudFormation tumpukan Deploy Anda.

Kemungkinan perbaikan: Selesaikan prosedur berikut untuk menambahkan kemampuan ke file definisi alur kerja. Untuk informasi selengkapnya tentang kemampuan IAM, lihat Mengakui sumber daya IAM dalam AWS CloudFormation templat di Panduan Pengguna IAM.

Visual
Untuk menambahkan kemampuan IAM menggunakan editor visual
  1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

  2. Pilih proyek Anda.

  3. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  4. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama alur kerja.

  5. Pilih Edit.

  6. Pilih Visual.

  7. Dalam diagram alur kerja, pilih tindakan AWS CloudFormation tumpukan Deploy Anda.

  8. Pilih tab Konfigurasi.

  9. Di bagian bawah, pilih Advanced - opsional.

  10. Dalam daftar drop-down Kemampuan, pilih kotak centang di samping kemampuan yang disebutkan dalam pesan kesalahan. Jika kemampuan tidak tersedia dalam daftar, gunakan editor YAMB untuk menambahkannya.

  11. (Opsional) Pilih Validasi untuk memvalidasi kode YAMB alur kerja sebelum melakukan.

  12. Pilih Komit, masukkan pesan komit, dan pilih Komit lagi.

  13. Jika alur kerja baru tidak dimulai secara otomatis, jalankan alur kerja secara manual untuk melihat apakah perubahan memperbaiki kesalahan. Untuk informasi selengkapnya tentang menjalankan alur kerja secara manual, lihatMemulai alur kerja berjalan secara manual.

YAML
Untuk menambahkan kemampuan IAM menggunakan editor YAMG
  1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

  2. Pilih proyek Anda.

  3. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  4. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama alur kerja.

  5. Pilih Edit.

  6. Pilih YAMG.

  7. Dalam aksi AWS CloudFormation tumpukan Deploy, tambahkan capabilities properti, seperti ini:

    DeployCloudFormationStack: Configuration: capabilities: capability-name

    Ganti capability-name dengan nama kemampuan IAM yang ditunjukkan dalam pesan kesalahan. Gunakan koma dan tidak ada spasi untuk mencantumkan beberapa kemampuan. Untuk informasi lebih lanjut, lihat deskripsi capabilities properti diTindakan “Terapkan AWS CloudFormation tumpukan” definisi YAMAL.

  8. (Opsional) Pilih Validasi untuk memvalidasi kode YAMB alur kerja sebelum melakukan.

  9. Pilih Komit, masukkan pesan komit, dan pilih Komit lagi.

  10. Jika alur kerja baru tidak dimulai secara otomatis, jalankan alur kerja secara manual untuk melihat apakah perubahan memperbaiki kesalahan. Untuk informasi selengkapnya tentang menjalankan alur kerja secara manual, lihatMemulai alur kerja berjalan secara manual.

Bagaimana cara memperbaiki kesalahan “npm install”?

Masalah: Tindakan AWS CDK penerapan atau tindakan AWS CDK bootstrap Anda gagal dengan npm install kesalahan. Kesalahan ini dapat terjadi karena Anda menyimpan dependensi AWS CDK aplikasi di registri private node package manager (npm) yang tidak dapat diakses oleh tindakan.

Kemungkinan perbaikan: Gunakan petunjuk berikut untuk memperbarui cdk.json file AWS CDK aplikasi Anda dengan registri tambahan dan informasi autentikasi.

Sebelum Anda mulai
  1. Buat rahasia untuk informasi otentikasi Anda. Anda akan mereferensikan rahasia ini dalam cdk.json file alih-alih memberikan padanan cleartext. Untuk membuat rahasia:

    1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

    2. Pilih proyek Anda.

    3. Di panel navigasi, pilih CI/CD, lalu pilih Rahasia.

    4. Buat dua rahasia dengan properti berikut:

      Rahasia pertama Rahasia kedua

      Nama: npmUsername

      Nilai: npm-username, di mana npm-username adalah nama pengguna yang digunakan untuk mengautentikasi ke registri npm pribadi Anda.

      (Opsional) Deskripsi: The username used to authenticate to the private npm registry.

      Nama: npmAuthToken

      Nilai: npm-auth-token, di mana token akses yang npm-auth-tokendigunakan untuk mengautentikasi ke registri npm pribadi Anda. Untuk informasi selengkapnya tentang token akses npm, lihat Tentang token akses di dokumentasi npm.

      (Opsional) Deskripsi: The access token used to authenticate to the private npm registry.

      Untuk informasi lebih lanjut tentang rahasia, lihatMengkonfigurasi dan menggunakan rahasia dalam alur kerja.

  2. Tambahkan rahasia sebagai variabel lingkungan ke AWS CDK tindakan Anda. Tindakan akan menggantikan variabel dengan nilai nyata saat dijalankan. Untuk menambahkan rahasia:

    1. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

    2. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama alur kerja.

    3. Pilih Edit.

    4. Pilih Visual.

    5. Dalam diagram alur kerja, pilih AWS CDK tindakan Anda.

    6. Pilih tab Input.

    7. Tambahkan dua variabel dengan properti berikut:

      Variabel pertama Variabel kedua

      Nama: NPMUSER

      Nilai: ${Secrets.npmUsername}

      Nama: NPMTOKEN

      Nilai: ${Secrets.npmAuthToken}

      Anda sekarang memiliki dua variabel yang berisi referensi ke rahasia.

    File definisi alur kerja Anda kode YAMB akan terlihat mirip dengan berikut ini:

    catatan

    Contoh kode berikut berasal dari tindakan AWS CDK bootstrap; tindakan AWS CDK penerapan akan terlihat serupa.

    Name: CDK_Bootstrap_Action SchemaVersion: 1.0 Actions: CDKBootstrapAction: Identifier: aws/cdk-bootstrap@v1 Inputs: Variables: - Name: NPMUSER Value: ${Secrets.npmUsername} - Name: NPMTOKEN Value: ${Secrets.npmAuthToken} Sources: - WorkflowSource Environment: Name: Dev2 Connections: - Name: account-connection Role: codecatalystAdmin Configuration: Parameters: Region: "us-east-2"

    Anda sekarang siap untuk menggunakan NPMTOKEN variabel NPMUSER dan dalam cdk.json file Anda. Pergi ke prosedur selanjutnya.

Untuk memperbarui file cdk.json Anda
  1. Ubah ke direktori root AWS CDK proyek Anda, dan buka cdk.json file.

  2. Temukan "app": properti, dan ubah untuk menyertakan kode yang ditunjukkan dengan huruf miring merah:

    catatan

    Contoh kode berikut adalah dari sebuah TypeScript proyek. Jika Anda menggunakan JavaScript proyek, kode akan terlihat serupa meskipun tidak identik.

    { "app": "npm set registry=https://your-registry/folder/CDK-package/ --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:always-auth=true --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:_authToken=\"${NPMUSER}\":\"${NPMTOKEN}\" && npm install && npx ts-node --prefer-ts-exts bin/hello-cdk.ts|js", "watch": { "include": [ "**" ], "exclude": [ "README.md", "cdk*.json", "**/*.d.ts", "**/*.js", "tsconfig.json", "package*.json", ...
  3. Dalam kode yang disorot dengan huruf miring merah, ganti:

    • Registry/folder/CDK-package/ Anda dengan jalur ke dependensi proyek Anda di registri pribadi Anda. AWS CDK

    • hello-cdk.ts|.js dengan nama file entrypoint Anda. Ini mungkin file .ts (TypeScript) atau .js (JavaScript) tergantung pada bahasa yang Anda gunakan.

      catatan

      Tindakan akan menggantikan variabel NPMUSER dan NPMTOKEN dengan nama pengguna npm dan token akses yang Anda tentukan di Rahasia.

  4. Simpan cdk.json file Anda.

  5. Jalankan kembali tindakan secara manual untuk melihat apakah perubahan memperbaiki kesalahan. Untuk informasi selengkapnya tentang menjalankan tindakan secara manual, lihatMemulai alur kerja berjalan secara manual.

Mengapa beberapa alur kerja memiliki nama yang sama?

Alur kerja disimpan per cabang per repositori. Dua alur kerja yang berbeda dapat memiliki nama yang sama jika ada di cabang yang berbeda. Di halaman Alur Kerja, Anda dapat membedakan alur kerja dengan nama yang sama dengan melihat nama cabang. Untuk informasi selengkapnya, lihat Mengatur kode sumber Anda bekerja dengan cabang di Amazon CodeCatalyst.

Cabang alur kerja

Dapatkah saya menyimpan file definisi alur kerja saya di folder lain?

Tidak, Anda harus menyimpan semua file definisi alur kerja di .codecatalyst/workflows folder. Jika Anda menggunakan repo mono dengan beberapa proyek logis, letakkan semua file definisi alur kerja Anda di .codecatalyst/workflows folder, lalu gunakan FilesChanged properti di dalam Trigger untuk memicu alur kerja di jalur proyek yang ditentukan. Untuk informasi selengkapnya, lihat Memulai alur kerja berjalan secara otomatis dengan pemicu.

Bagaimana cara menambahkan tindakan secara berurutan ke alur kerja saya?

Secara default, ketika Anda menambahkan tindakan ke alur kerja Anda, itu tidak akan memiliki dependensi dan akan berjalan secara paralel dengan tindakan lain.

Jika Anda ingin mengatur tindakan secara berurutan, Anda dapat mengatur ketergantungan pada tindakan lain dengan mengatur DependsOn bidang. Anda juga dapat mengonfigurasi tindakan untuk mengkonsumsi artefak atau variabel yang merupakan output dari tindakan lain. Untuk informasi selengkapnya, lihat Mengkonfigurasi tindakan untuk bergantung pada tindakan lain.

Mengapa alur kerja saya berhasil memvalidasi tetapi gagal saat runtime?

Jika Anda memvalidasi alur kerja Anda menggunakan Validate tombol, tetapi alur kerja Anda tetap gagal, itu mungkin karena batasan dalam validator.

Kesalahan apa pun yang mengacu pada CodeCatalyst sumber daya seperti rahasia, lingkungan, atau armada dalam konfigurasi alur kerja tidak akan didaftarkan selama komit. Jika referensi yang tidak valid digunakan, kesalahan hanya akan diidentifikasi ketika alur kerja dijalankan. Demikian pula, jika ada kesalahan dalam konfigurasi tindakan Anda seperti kehilangan bidang wajib atau kesalahan ketik dalam atribut tindakan, mereka akan diidentifikasi hanya ketika alur kerja dijalankan. Untuk informasi selengkapnya, lihat Membuat alur kerja.

Penemuan otomatis tidak menemukan laporan apa pun untuk tindakan saya

Masalah: Saya mengonfigurasi penemuan otomatis untuk tindakan yang menjalankan pengujian, tetapi tidak ada laporan yang ditemukan oleh CodeCatalyst.

Kemungkinan perbaikan: Ini mungkin disebabkan oleh sejumlah masalah. Coba satu atau lebih solusi berikut:

  • Pastikan bahwa alat yang digunakan untuk menjalankan tes menghasilkan output dalam salah satu format yang CodeCatalyst mengerti. Misalnya, jika Anda ingin mengizinkan pytest CodeCatalyst untuk menemukan laporan pengujian dan cakupan kode, sertakan argumen berikut:

    --junitxml=test_results.xml --cov-report xml:test_coverage.xml

    Untuk informasi selengkapnya, lihat Jenis laporan kualitas.

  • Pastikan ekstensi file untuk output konsisten dengan format yang dipilih. Misalnya, saat mengonfigurasi pytest untuk menghasilkan hasil dalam JUnitXML format, periksa apakah ekstensi file tersebut. .xml Untuk informasi selengkapnya, lihat Jenis laporan kualitas.

  • Pastikan bahwa IncludePaths dikonfigurasi untuk menyertakan seluruh sistem file (**/*) kecuali Anda sengaja mengecualikan folder tertentu. Demikian pula, pastikan bahwa ExcludePaths tidak mengecualikan direktori di mana Anda mengharapkan laporan Anda berada.

  • Jika Anda mengonfigurasi laporan secara manual untuk menggunakan file keluaran tertentu, laporan tersebut akan dikecualikan dari penemuan otomatis. Untuk informasi selengkapnya, lihat Contoh laporan kualitas YAMAL.

  • Penemuan otomatis mungkin tidak menemukan laporan karena tindakan gagal sebelum keluaran apa pun dihasilkan. Misalnya, build mungkin gagal sebelum pengujian unit apa pun dijalankan.

Tindakan saya gagal pada laporan yang ditemukan secara otomatis setelah saya mengonfigurasi kriteria keberhasilan

Masalah: Saat saya mengaktifkan penemuan otomatis dan mengonfigurasi kriteria keberhasilan, beberapa laporan tidak memenuhi kriteria keberhasilan dan akibatnya tindakan gagal.

Kemungkinan perbaikan: Untuk mengatasi ini, coba satu atau beberapa solusi berikut:

  • Ubah IncludePaths atau ExcludePaths untuk mengecualikan laporan yang tidak Anda minati.

  • Perbarui kriteria keberhasilan untuk memungkinkan semua laporan lulus. Misalnya, jika dua laporan ditemukan dengan satu memiliki cakupan garis 50% dan satu lagi 70%, sesuaikan cakupan garis minimum menjadi 50%. Untuk informasi selengkapnya, lihat Kriteria keberhasilan

  • Ubah laporan yang gagal menjadi laporan yang dikonfigurasi secara manual. Ini memungkinkan Anda mengonfigurasi kriteria keberhasilan yang berbeda untuk laporan spesifik tersebut. Untuk informasi selengkapnya, lihat Mengkonfigurasi kriteria keberhasilan untuk laporan.

Penemuan otomatis menghasilkan laporan yang tidak saya inginkan

Masalah: Ketika saya mengaktifkan penemuan otomatis, itu menghasilkan laporan yang tidak saya inginkan. Misalnya, CodeCatalyst menghasilkan laporan cakupan kode untuk file yang disertakan dalam dependensi aplikasi saya yang disimpan di. node_modules

Kemungkinan perbaikan: Anda dapat menyesuaikan ExcludePaths konfigurasi untuk mengecualikan file yang tidak diinginkan. Misalnya, untuk mengecualikannode_modules, tambahkannode_modules/**/*. Untuk informasi selengkapnya, lihat Sertakan/kecualikan jalur.

Penemuan otomatis menghasilkan banyak laporan kecil untuk satu kerangka pengujian

Masalah: Ketika saya menggunakan kerangka kerja pelaporan pengujian dan cakupan kode tertentu, saya perhatikan bahwa penemuan otomatis menghasilkan sejumlah besar laporan. Misalnya, saat menggunakan Plugin Maven Surefire, penemuan otomatis menghasilkan laporan yang berbeda untuk setiap kelas pengujian.

Kemungkinan perbaikan: Kerangka kerja Anda mungkin dapat menggabungkan output ke dalam satu file. Misalnya, jika Anda menggunakan Plugin Maven Surefire, Anda dapat menggunakan npx junit-merge untuk menggabungkan file secara manual. Ekspresi lengkapnya mungkin terlihat seperti ini:

mvn test; cd test-package-path/surefire-reports && npx junit-merge -d ./ && rm *Test.xml

Alur kerja yang tercantum di bawah CI/CD tidak cocok dengan yang ada di repositori sumber

Masalah: Alur kerja yang ditampilkan pada CI/CD, halaman Alur kerja tidak cocok dengan yang ada di ~/.codecatalyst/workflows/ folder di repositori sumber Anda. Anda mungkin melihat ketidakcocokan berikut:

  • Alur kerja muncul di halaman Alur Kerja, tetapi file definisi alur kerja yang sesuai tidak ada di repositori sumber Anda.

  • File definisi alur kerja ada di repositori sumber Anda, tetapi alur kerja yang sesuai tidak muncul di halaman Alur Kerja.

  • Alur kerja ada di repositori sumber dan halaman Alur Kerja, tetapi keduanya berbeda.

Masalah ini dapat terjadi jika halaman Alur Kerja belum sempat menyegarkan, atau jika kuota alur kerja terlampaui.

Kemungkinan perbaikan:

  • Tunggu. Anda biasanya harus menunggu dua atau tiga detik setelah komit ke sumber sebelum Anda melihat perubahan pada halaman Alur Kerja.

  • Jika Anda telah melampaui kuota alur kerja, lakukan salah satu hal berikut:

    catatan

    Untuk menentukan apakah kuota alur kerja terlampaui, tinjauKuota untuk alur kerja, dan periksa silang kuota yang didokumentasikan terhadap alur kerja di repositori sumber Anda atau di halaman Alur Kerja. Tidak ada pesan kesalahan yang menunjukkan bahwa kuota telah terlampaui, jadi Anda harus menyelidikinya sendiri.

    • Jika Anda telah melampaui jumlah maksimum alur kerja per kuota ruang, hapus beberapa alur kerja, lalu lakukan komit pengujian terhadap file definisi alur kerja. Contoh komit pengujian mungkin menambahkan spasi ke file.

    • Jika Anda telah melampaui kuota ukuran file definisi alur kerja maksimum, ubah file definisi alur kerja untuk mengurangi panjangnya.

    • Jika Anda telah melampaui jumlah maksimum file alur kerja yang diproses dalam kuota peristiwa sumber tunggal, lakukan beberapa komit pengujian. Ubah kurang dari jumlah maksimum alur kerja di setiap komit.

    • Tingkatkan kuota alur kerja dengan mengaktifkan penagihan tingkatan berbayar. Untuk informasi selengkapnya, lihat Mengelola penagihan di Panduan CodeCatalyst Administrator Amazon.

Saya tidak dapat membuat atau memperbarui alur kerja

Masalah: Saya ingin membuat atau memperbarui alur kerja, tetapi saya melihat kesalahan ketika saya mencoba melakukan perubahan.

Kemungkinan perbaikan: Bergantung pada peran Anda dalam proyek atau ruang, Anda mungkin tidak memiliki izin untuk mendorong kode ke repositori sumber dalam proyek. File YAMB untuk alur kerja disimpan dalam repositori. Untuk informasi selengkapnya, lihat File definisi alur kerja. Peran administrator Space, peran administrator Proyek, dan peran Kontributor semuanya memiliki izin untuk melakukan dan mendorong kode ke repositori dalam proyek.

Jika Anda memiliki peran Kontributor tetapi tidak dapat membuat atau melakukan perubahan pada alur kerja YAMB di cabang tertentu, mungkin ada aturan cabang yang dikonfigurasi untuk cabang tersebut yang mencegah pengguna dengan peran tersebut mendorong kode ke cabang tertentu. Coba buat alur kerja di cabang yang berbeda, atau komit perubahan Anda ke cabang yang berbeda. Untuk informasi selengkapnya, lihat Mengelola tindakan yang diizinkan untuk cabang dengan aturan cabang.