Pemecahan Masalah CodePipeline - AWS CodePipeline
Kesalahan Alur: Pipa yang dikonfigurasi denganAWS Elastic Beanstalkmengembalikan pesan kesalahan: “Penerapan gagal. Peran yang diberikan tidak memiliki izin yang cukup: Layanan:AmazonElasticLoadBalancing“Kesalahan deployment: Pipa yang dikonfigurasi denganAWS Elastic Beanstalkmenyebarkan aksi hang bukannya gagal jika”DescribeEvents“izin hilangKesalahan Alur: Tindakan sumber mengembalikan pesan izin yang tidak mencukupi: “Tidak dapat mengakses CodeCommit repositorirepository-name. Pastikan peran IAM alur memiliki izin yang cukup untuk mengakses repositori.”Kesalahan Alur: Sebuah Jenkins membangun atau menguji tindakan berjalan untuk waktu yang lama dan kemudian gagal karena kurangnya kredensi atau izinKesalahan Alur: Sebuah pipa dibuat dalam satuAWSWilayah menggunakan bucket yang dibuat di tempat lainAWSRegion mengembalikan sebuah”InternalError“dengan kode”JobFailed“Kesalahan deployment: File ZIP yang berisi file WAR berhasil diterapkanAWS Elastic Beanstalk, tetapi URL aplikasi melaporkan kesalahan 404 tidak ditemukanNama folder artefak pipa tampaknya terpotongTambahkan CodeBuild GitClone izin untuk koneksi ke Bitbucket, GitHub, atau GitHub Server EnterpriseTambahkan CodeBuild GitClone izin untuk CodeCommittindakan sumberKesalahan Alur: Sebuah penyebaran dengan CodeDeployToTindakan ECS mengembalikan pesan kesalahan: “Pengecualian saat mencoba membaca file artefak definisi tugas dari: <source artifact name>”GitHub versi 1 tindakan sumber: Daftar repositori menunjukkan repositori yang berbedaGitHub versi 2 tindakan sumber: Tidak dapat menyelesaikan koneksi untuk repositoriKesalahan Amazon S3: CodePipeline peran layanan <ARN>mendapatkan akses S3 ditolak untuk bucket S3 <BucketName>Saluran pipa dengan Amazon S3, Amazon ECR, atau CodeCommitsumber tidak lagi dimulai secara otomatisKesalahan koneksi saat menghubungkan ke GitHub: “Masalah terjadi, pastikan cookie diaktifkan di browser Anda” atau “Pemilik organisasi harus menginstal GitHub Aplikasi”Butuh bantuan dengan masalah yang berbeda?

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

Pemecahan Masalah CodePipeline

Informasi berikut dapat membantu Anda memecahkan masalah umum di AWS CodePipeline.

Topik

Kesalahan Alur: Pipa yang dikonfigurasi denganAWS Elastic Beanstalkmengembalikan pesan kesalahan: “Penerapan gagal. Peran yang diberikan tidak memiliki izin yang cukup: Layanan:AmazonElasticLoadBalancing“

Masalah: Peran layanan untuk CodePipeline tidak memiliki izin yang cukup untukAWS Elastic Beanstalk, termasuk, namun tidak terbatas pada, beberapa operasi di Elastic Load Balancing. Peran layanan untuk CodePipeline telah diperbarui pada 6 Agustus 2015 untuk mengatasi masalah ini. Pelanggan yang membuat peran layanan mereka sebelum tanggal ini harus mengubah pernyataan kebijakan untuk peran layanan mereka untuk menambahkan izin yang diperlukan.

Perbaikan yang dimungkinkan: Solusi termudah adalah mengedit pernyataan kebijakan untuk peran layanan Anda sebagaimana dijelaskan dalamMenambahkan izin ke peran CodePipeline layanan.

Setelah Anda menerapkan kebijakan yang diedit, ikuti langkah-langkah diMemulai pipa secara manualuntuk menjalankan kembali jaringan pipa yang menggunakan Elastic Beanstalk secara manual.

Bergantung pada kebutuhan keamanan Anda, Anda juga dapat memodifikasi izin dengan cara lain.

Kesalahan deployment: Pipa yang dikonfigurasi denganAWS Elastic Beanstalkmenyebarkan aksi hang bukannya gagal jika”DescribeEvents“izin hilang

Masalah: Peran layanan untuk CodePipeline harus menyertakan"elasticbeanstalk:DescribeEvents"tindakan untuk setiap jaringan pipa yang menggunakanAWS Elastic Beanstalk. Tanpa izin ini,AWS Elastic Beanstalkmenyebarkan tindakan hang tanpa gagal atau menunjukkan kesalahan. Jika tindakan ini hilang dari peran layanan Anda, maka CodePipeline tidak memiliki izin untuk menjalankan tahap penyebaran alur diAWS Elastic Beanstalkatas nama Anda.

Perbaikan yang dimungkinkan: Tinjau CodePipeline peran layanan. Jika"elasticbeanstalk:DescribeEvents"tindakan hilang, gunakan langkah-langkah diMenambahkan izin ke peran CodePipeline layananuntuk menambahkannya menggunakanKebijakan Editfitur di konsol IAM.

Setelah Anda menerapkan kebijakan yang diedit, ikuti langkah-langkah diMemulai pipa secara manualuntuk menjalankan kembali jaringan pipa yang menggunakan Elastic Beanstalk secara manual.

Kesalahan Alur: Tindakan sumber mengembalikan pesan izin yang tidak mencukupi: “Tidak dapat mengakses CodeCommit repositorirepository-name. Pastikan peran IAM alur memiliki izin yang cukup untuk mengakses repositori.”

Masalah: Peran layanan untuk CodePipeline tidak memiliki izin yang cukup untuk CodeCommit dan kemungkinan dibuat sebelum dukungan untuk menggunakan CodeCommitrepositori telah ditambahkan pada 18 April 2016. Pelanggan yang membuat peran layanan mereka sebelum tanggal ini harus mengubah pernyataan kebijakan untuk peran layanan mereka untuk menambahkan izin yang diperlukan.

Perbaikan yang dimungkinkan: Tambahkan izin yang diperlukan untuk CodeCommit untuk CodePipeline kebijakan peran layanan. Untuk informasi selengkapnya, lihat Menambahkan izin ke peran CodePipeline layanan.

Kesalahan Alur: Sebuah Jenkins membangun atau menguji tindakan berjalan untuk waktu yang lama dan kemudian gagal karena kurangnya kredensi atau izin

Masalah: Jika server Jenkins diinstal pada instans Amazon EC2, instans mungkin tidak dibuat dengan peran instans yang memiliki izin yang diperlukan untuk CodePipeline. Jika Anda menggunakan pengguna IAM di server Jenkins, instans lokal, atau instans Amazon EC2 yang dibuat tanpa peran IAM yang diperlukan, pengguna IAM tidak memiliki izin yang diperlukan, atau server Jenkins tidak dapat mengakses kredensi tersebut melalui profil yang dikonfigurasi di server.

Perbaikan yang dimungkinkan: Pastikan peran instans Amazon EC2 atau pengguna IAM dikonfigurasi denganAWSCodePipelineCustomActionAccesskebijakan terkelola atau dengan izin yang setara. Untuk informasi selengkapnya, lihat AWSkebijakan terkelola untuk CodePipeline.

Jika Anda menggunakan pengguna IAM, pastikanAWSprofil yang dikonfigurasi pada instance menggunakan pengguna IAM yang dikonfigurasi dengan izin yang benar. Anda mungkin harus memberikan kredensi pengguna IAM yang Anda konfigurasikan untuk integrasi antara Jenkins dan CodePipeline langsung ke UI Jenkins. Ini bukan praktik terbaik yang direkomendasikan. Jika Anda harus melakukannya, pastikan server Jenkins diamankan dan menggunakan HTTPS bukan HTTP.

Kesalahan Alur: Sebuah pipa dibuat dalam satuAWSWilayah menggunakan bucket yang dibuat di tempat lainAWSRegion mengembalikan sebuah”InternalError“dengan kode”JobFailed“

Masalah: Pengunduhan artefak yang disimpan dalam bucket Amazon S3 akan gagal jika pipeline dan bucket dibuat dalam bentuk yang berbedaAWSWilayah.

Perbaikan yang dimungkinkan: Pastikan bucket Amazon S3 tempat artefact Anda disimpan dalam hal yang samaAWSWilayah sebagai pipa yang telah Anda buat.

Kesalahan deployment: File ZIP yang berisi file WAR berhasil diterapkanAWS Elastic Beanstalk, tetapi URL aplikasi melaporkan kesalahan 404 tidak ditemukan

Masalah: File WAR berhasil dikerahkan ke sebuahAWS Elastic Beanstalklingkungan, tetapi URL aplikasi mengembalikan kesalahan 404 Not Found.

Perbaikan yang dimungkinkan: AWS Elastic Beanstalkdapat membongkar file ZIP, tetapi bukan file WAR yang terdapat dalam file ZIP. Alih-alih menentukan file WAR dibuildspec.ymlfile, tentukan folder yang berisi konten yang akan digunakan. Misalnya:

version: 0.2 phases: post_build: commands: - mvn package - mv target/my-web-app ./ artifacts: files: - my-web-app/**/* discard-paths: yes

Sebagai contoh, lihatAWS Elastic BeanstalkSampel untuk CodeBuild.

Nama folder artefak pipa tampaknya terpotong

Masalah: Saat Anda melihat nama artefak pipeline di CodePipeline, Nama-nama itu tampak terpotong. Hal ini dapat membuat nama tampak serupa atau tampaknya tidak lagi berisi seluruh nama pipeline.

Penjelasan: CodePipeline memotong nama artefak untuk memastikan bahwa jalur Amazon S3 penuh tidak melebihi batas ukuran kebijakan saat CodePipeline menghasilkan mandat sementara untuk pekerja kerja.

Meskipun nama artefak tampaknya terpotong, CodePipeline peta ke ember artefak dengan cara yang tidak terpengaruh oleh artefak dengan nama terpotong. Pipa dapat berfungsi normal. Ini bukan masalah dengan folder atau artefak. Ada batas 100 karakter untuk nama pipeline. Meskipun nama folder artefak mungkin tampak dipersingkat, itu masih unik untuk pipeline Anda.

Tambahkan CodeBuild GitClone izin untuk koneksi ke Bitbucket, GitHub, atau GitHub Server Enterprise

Saat Anda menggunakan AWS CodeStar koneksi dalam aksi sumber dan CodeBuild tindakan, ada dua cara artifact masukan dapat diteruskan ke membangun:

  • Default: Tindakan sumber menghasilkan file zip yang berisi kode itu CodeBuildUnduh.

  • Kloning Git: Kode sumber dapat langsung diunduh ke lingkungan pembangunan.

    Mode klon Git memungkinkan Anda untuk berinteraksi dengan kode sumber sebagai repositori Git yang berfungsi. Untuk menggunakan mode ini, Anda harus memberikan CodeBuild izin lingkungan untuk menggunakan koneksi.

Untuk menambahkan izin ke CodeBuild kebijakan peran layanan, Anda membuat kebijakan yang dikelola pelanggan yang Anda lampirkan ke CodeBuild peran layanan. Langkah-langkah berikut membuat kebijakan di manaUseConnectionizin ditentukan dalamactionbidang, dan koneksi ARN ditentukan dalamResourceBidang.

Untuk menggunakan konsol untuk menambahkan UseConnection izin
  1. Untuk menemukan ARN koneksi untuk alur Anda, buka alur Anda dan klik ikon (i) pada tindakan sumber Anda. Anda menambahkan ARN koneksi ke CodeBuild kebijakan peran layanan.

    Contoh koneksi ARN adalah:

    arn:aws:codestar-connections:eu-central-1:123456789123:connection/sample-1908-4932-9ecc-2ddacee15095
  2. Untuk menemukan CodeBuild peran layanan, buka proyek membangun yang digunakan dalam alur Anda dan navigasikan keDetai BangunanTab.

  3. PilihPeran layananlink. Ini akan membuka konsol IAM tempat Anda dapat menambahkan kebijakan baru yang memberikan akses ke koneksi Anda.

  4. Pada konsol IAM, pilih Lampirkan kebijakan, lalu pilih Buat kebijakan.

    Gunakan templat kebijakan sampel berikut. Tambahkan ARN koneksi Anda diResourcelapangan, seperti yang ditunjukkan dalam contoh ini:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codestar-connections:UseConnection", "Resource": "insert connection ARN here" } ] }

    Pada tab JSON, tempel kebijakan Anda.

  5. Pilih Tinjau kebijakan. Masukkan nama untuk kebijakan (misalnya, connection-permissions), lalu pilih Buat kebijakan.

  6. Kembali ke halaman tempat Anda melampirkan izin, segarkan daftar kebijakan, dan pilih kebijakan yang baru saja Anda buat. Pilih Pasang kebijakan.

Tambahkan CodeBuild GitClone izin untuk CodeCommittindakan sumber

Ketika pipa Anda memiliki CodeCommit tindakan sumber, ada dua cara Anda dapat melewati artefak masukan untuk membangun:

  • Default- Tindakan sumber menghasilkan file zip yang berisi kode yang CodeBuild Unduh.

  • Clone penuh- Kode sumber dapat langsung diunduh ke lingkungan pembangunan.

    KlasterClone penuhpilihan memungkinkan Anda untuk berinteraksi dengan kode sumber sebagai repositori Git yang berfungsi. Untuk menggunakan mode ini, Anda harus menambahkan izin untuk CodeBuildlingkungan untuk menarik dari repositori Anda.

Untuk menambahkan izin ke CodeBuild kebijakan peran layanan, Anda membuat kebijakan yang dikelola pelanggan yang Anda lampirkan ke CodeBuild peran layanan. Langkah-langkah berikut membuat kebijakan yang menentukancodecommit:GitPullizin diactionBidang.

Untuk menggunakan konsol untuk menambahkan GitPull izin
  1. Untuk menemukan CodeBuild peran layanan, buka proyek membangun yang digunakan dalam alur Anda dan navigasikan keDetai BangunanTab.

  2. PilihPeran layananlink. Ini akan membuka konsol IAM tempat Anda dapat menambahkan kebijakan baru yang memberikan akses ke repositori Anda.

  3. Pada konsol IAM, pilih Lampirkan kebijakan, lalu pilih Buat kebijakan.

  4. PadaJSONtab, tempel kebijakan sampel berikut.

    { "Action": [ "codecommit:GitPull" ], "Resource": "*", "Effect": "Allow" },
  5. Pilih Tinjau kebijakan. Masukkan nama untuk kebijakan (misalnya, codecommit-gitpull), lalu pilih Buat kebijakan.

  6. Kembali ke halaman tempat Anda melampirkan izin, segarkan daftar kebijakan, dan pilih kebijakan yang baru saja Anda buat. Pilih Pasang kebijakan.

Kesalahan Alur: Sebuah penyebaran dengan CodeDeployToTindakan ECS mengembalikan pesan kesalahan: “Pengecualian saat mencoba membaca file artefak definisi tugas dari: <source artifact name>”

Masalah:

File definisi tugas adalah artefak yang diperlukan untuk CodePipeline menerapkan tindakan ke Amazon ECS melalui CodeDeploy (yangCodeDeployToECStindakan). Ukuran ZIP artefak maksimum diCodeDeployToECSmenyebarkan tindakan adalah 3 MB. Pesan galat berikut dikembalikan ketika file tidak ditemukan atau ukuran artefak melebihi 3 MB:

Pengecualian saat mencoba membaca file artefak definisi tugas dari: <source artifact name>

Perbaikan yang dimungkinkan: Pastikan file definisi tugas disertakan sebagai artefact. Jika file sudah ada, pastikan ukuran terkompresi kurang dari 3 MB.

GitHub versi 1 tindakan sumber: Daftar repositori menunjukkan repositori yang berbeda

Masalah:

Setelah otorisasi berhasil untuk GitHub versi 1 tindakan di CodePipeline konsol, Anda dapat memilih dari daftar GitHub repositori. Jika daftar tidak menyertakan repositori yang Anda harapkan untuk melihat, maka Anda dapat memecahkan masalah akun yang digunakan untuk otorisasi.

Perbaikan yang dimungkinkan: Daftar repositori yang disediakan di CodePipeline konsol didasarkan pada GitHub organisasi akun resmi milik. Verifikasi bahwa akun yang Anda gunakan untuk mengotorisasi GitHub adalah akun yang terkait dengan GitHub organisasi tempat repositori Anda dibuat.

GitHub versi 2 tindakan sumber: Tidak dapat menyelesaikan koneksi untuk repositori

Masalah:

Karena koneksi ke GitHub repositori menggunakanAWSConnector untuk GitHub, Anda memerlukan izin pemilik organisasi atau izin admin ke repositori untuk membuat koneksi.

Perbaikan yang dimungkinkan: Untuk informasi tentang tingkat izin untuk GitHub repositori, lihathttps://docs.github.com/en/free-pro-team@latest /github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organisasi.

Kesalahan Amazon S3: CodePipeline peran layanan <ARN>mendapatkan akses S3 ditolak untuk bucket S3 <BucketName>

Masalah:

Sementara dalam proses, CodeCommit action CodePipeline memeriksa bahwa pipa artefak ember ada. Jika tindakan tidak memiliki izin untuk memeriksa,AccessDeniedterjadi kesalahan di Amazon S3 dan pesan galat berikut ditampilkan di CodePipeline:

CodePipeline peran layanan “arn:aws:aws:iam::::AccountID:peran/layanan-peran/RoleID“mendapatkan akses S3 ditolak untuk ember S3”BucketName

Klaster CloudTrail log untuk tindakan juga logAccessDeniedkesalahan.

Perbaikan yang dimungkinkan: Lakukan hal berikut:

  • Untuk kebijakan yang melekat pada CodePipeline peran layanan, tambahkans3:ListBucketke daftar tindakan dalam kebijakan Anda. Untuk petunjuk untuk melihat kebijakan peran layanan Anda, lihatLihat ARN pipa dan peran layanan ARN (konsol). Edit pernyataan kebijakan untuk peran layanan Anda seperti yang dijelaskan dalamMenambahkan izin ke peran CodePipeline layanan.

  • Untuk kebijakan berbasis sumber daya yang melekat pada bucket Amazon S3 artifact untuk alur Anda, juga disebutkebijakan bucket artefact, tambahkan pernyataan untuk memungkinkans3:ListBucketizin untuk digunakan oleh Anda CodePipeline peran layanan.

    Untuk menambahkan kebijakan Anda ke bucket artefak
    1. Ikuti langkah-langkah diLihat ARN pipa dan peran layanan ARN (konsol)untuk memilih ember artefak Anda pada pipaPengaturanhalaman dan kemudian melihatnya di konsol Amazon S3.

    2. Pilih Izin.

    3. Di Bawah Kebijakan bucket, pilih Edit.

    4. DiKebijakankolom teks, masukkan kebijakan baru kelompok, atau edit kebijakan yang sudah ada seperti yang ditunjukkan pada contoh berikut. Kebijakan bucket adalah file JSON, jadi Anda harus memasukkan JSON yang valid.

      Contoh berikut menunjukkan pernyataan kebijakan bucket untuk bucket artefak tempat ID peran contoh untuk peran layanan beradaAROAEXAMPLEID.

      { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BucketName", "Condition": { "StringLike": { "aws:userid": "AROAEXAMPLEID:*" } } }

      Contoh berikut menunjukkan pernyataan kebijakan bucket yang sama setelah izin ditambahkan.

      { "Version": "2012-10-17", "Id": "SSEAndSSLPolicy", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::codepipeline-us-east-2-1234567890", "Condition": { "StringLike": { "aws:userid": "AROAEXAMPLEID:*" } } }, { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::codepipeline-us-east-2-1234567890/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::codepipeline-us-east-2-1234567890/*", "Condition": { "Bool": { "aws:SecureTransport": false } } } ] }

      Untuk informasi lebih lanjut, lihat langkah-langkah dihttp://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/.

    5. Pilih Save (Simpan).

Setelah Anda menerapkan kebijakan yang diedit, ikuti langkah-langkah diMemulai pipa secara manualuntuk menjalankan ulang pipeline Anda secara manual.

Saluran pipa dengan Amazon S3, Amazon ECR, atau CodeCommitsumber tidak lagi dimulai secara otomatis

Masalah:

Setelah membuat perubahan ke pengaturan konfigurasi untuk tindakan yang menggunakan aturan peristiwa (EventBridgeatau CloudWatch Peristiwa) untuk deteksi perubahan, konsol mungkin tidak mendeteksi perubahan di mana pengidentifikasi pemicu sumber serupa dan memiliki karakter awal yang identik. Karena aturan acara baru tidak dibuat oleh konsol, pipeline tidak lagi dimulai secara otomatis.

Contoh perubahan kecil di akhir nama parameter untuk CodeCommit akan mengubah Anda CodeCommit nama cabangMyTestBranch-1kepadaMyTestBranch-2. Karena perubahan berada di akhir nama cabang, aturan acara untuk tindakan sumber mungkin tidak memperbarui atau membuat aturan untuk pengaturan sumber baru.

Ini berlaku untuk tindakan sumber yang menggunakan peristiwa CWE untuk deteksi perubahan sebagai berikut:

Tindakan sumber Parameter/pengidentifikasi pemicu (konsol)
Amazon ECR

Nama repositori

Tanda citra

Amazon S3

Bucket

Kunci objek S3

CodeCommit

Nama repositori

Nama cabang

Perbaikan yang dimungkinkan:

Lakukan salah satu dari berikut:

  • Mengelolaan CodeCommitPengaturan konfigurasi /S3/ECR sehingga perubahan dilakukan pada bagian awal dari nilai parameter.

    Contoh: Mengubah nama cabangrelease-branchkepada2nd-release-branch. Hindari perubahan di akhir nama, sepertirelease-branch-2.

  • Mengelolaan CodeCommit/S3/ECR pengaturan konfigurasi untuk setiap pipa.

    Contoh: Mengubah nama cabangmyRepo/myBranchkepadamyDeployRepo/myDeployBranch. Hindari perubahan di akhir nama, sepertimyRepo/myBranch2.

  • Alih-alih konsol, gunakan CLI atauAWS CloudFormationuntuk membuat dan memperbarui aturan peristiwa deteksi perubahan Anda. Untuk petunjuk tentang membuat aturan peristiwa untuk tindakan sumber S3, lihatTindakan sumber Amazon S3 CloudWatch Peristiwa. Untuk petunjuk tentang membuat aturan peristiwa untuk tindakan Amazon ECR, lihat Tindakan sumber Amazon ECR dan CloudWatch Peristiwa. Untuk petunjuk tentang membuat aturan acara untuk CodeCommit action, lihat CodeCommit tindakan sumber dan CloudWatch Peristiwa.

Setelah Anda mengedit konfigurasi tindakan di konsol, terima sumber daya deteksi perubahan yang diperbarui yang dibuat oleh konsol.

Kesalahan koneksi saat menghubungkan ke GitHub: “Masalah terjadi, pastikan cookie diaktifkan di browser Anda” atau “Pemilik organisasi harus menginstal GitHub Aplikasi”

Masalah:

Untuk membuat koneksi untuk GitHub aksi sumber di CodePipeline, Anda harus GitHubpemilik organisasi. Untuk repositori yang tidak berada di bawah organisasi, Anda harus menjadi pemilik repositori. Ketika sambungan dibuat oleh orang lain selain pemilik organisasi, permintaan dibuat untuk pemilik organisasi, dan salah satu kesalahan berikut ditampilkan:

Masalah terjadi, pastikan cookie diaktifkan di browser Anda

ATAU

Pemilik organisasi harus menginstal GitHub aplikasi

Perbaikan yang dimungkinkan: Untuk repositori dalam GitHuborganisasi, pemilik organisasi harus membuat koneksi ke GitHub repositori. Untuk repositori yang tidak berada di bawah organisasi, Anda harus menjadi pemilik repositori.

Butuh bantuan dengan masalah yang berbeda?

Coba sumber daya lain ini: