Lampiran A: tindakan sumber GitHub versi 1 - AWS CodePipeline

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

Lampiran A: tindakan sumber GitHub versi 1

Lampiran ini memberikan informasi tentang versi 1 dari GitHub tindakan di. CodePipeline

catatan

Meskipun kami tidak merekomendasikan penggunaan tindakan GitHub versi 1, pipeline yang ada dengan tindakan GitHub versi 1 akan terus berfungsi tanpa dampak apa pun. Untuk pipeline dengan tindakan GitHub versi 1, CodePipeline gunakan token berbasis OAUTH untuk terhubung ke repositori Anda GitHub . Sebaliknya, GitHub tindakan (versi 2) menggunakan sumber daya koneksi untuk mengaitkan sumber AWS daya ke GitHub repositori Anda. Sumber daya koneksi menggunakan token berbasis aplikasi untuk terhubung. Untuk informasi selengkapnya tentang memperbarui pipeline Anda ke GitHub tindakan yang disarankan yang menggunakan koneksi, lihatPerbarui tindakan sumber GitHub versi 1 ke aksi sumber GitHub versi 2. Untuk informasi selengkapnya tentang GitHub akses berbasis OAUTH yang berbeda dengan akses berbasis aplikasi GitHub , lihat. https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps

Untuk berintegrasi GitHub, CodePipeline gunakan aplikasi GitHub OAuth untuk pipeline Anda. CodePipelinemenggunakan webhook untuk mengelola deteksi perubahan untuk pipeline Anda dengan aksi sumber GitHub versi 1.

catatan

Saat Anda mengonfigurasi aksi sumber GitHub versi 2 AWS CloudFormation, Anda tidak menyertakan informasi GitHub token apa pun atau menambahkan sumber daya webhook. Anda mengonfigurasi sumber daya koneksi seperti yang ditunjukkan AWS::CodeStarConnections::Connectiondalam Panduan AWS CloudFormation Pengguna.

Referensi ini berisi bagian berikut untuk tindakan GitHub versi 1:

Menambahkan aksi sumber GitHub versi 1

Anda menambahkan tindakan sumber GitHub versi 1 ke CodePipeline oleh:

  • Menggunakan CodePipeline konsol Create pipeline wizard (Buat pipeline (konsol)) atau Edit halaman tindakan untuk memilih opsi GitHubpenyedia. Konsol membuat webhook yang memulai pipeline Anda saat sumbernya berubah.

  • Menggunakan CLI untuk menambahkan konfigurasi tindakan untuk GitHub tindakan dan membuat sumber daya tambahan sebagai berikut:

    • Menggunakan GitHub contoh konfigurasi tindakan GitHub referensi struktur aksi sumber versi 1 untuk membuat tindakan seperti yang ditunjukkan padaBuat pipeline (CLI).

    • Menonaktifkan pemeriksaan berkala dan membuat deteksi perubahan secara manual, karena metode deteksi perubahan default memulai pipeline dengan melakukan polling pada sumbernya. Anda memigrasikan pipeline polling Anda ke webhook untuk GitHub tindakan Versi 1.

GitHub referensi struktur aksi sumber versi 1

catatan

Meskipun kami tidak merekomendasikan penggunaan tindakan GitHub versi 1, pipeline yang ada dengan tindakan GitHub versi 1 akan terus berfungsi tanpa dampak apa pun. Untuk pipeline dengan aksi sumber GitHub GitHub versi 1, CodePipeline gunakan token berbasis OAUTH untuk terhubung ke repositori Anda GitHub . Sebaliknya, GitHub tindakan baru (versi 2) menggunakan sumber daya koneksi untuk mengaitkan sumber AWS daya ke GitHub repositori Anda. Sumber daya koneksi menggunakan token berbasis aplikasi untuk terhubung. Untuk informasi selengkapnya tentang memperbarui pipeline Anda ke GitHub tindakan yang disarankan yang menggunakan koneksi, lihatPerbarui tindakan sumber GitHub versi 1 ke aksi sumber GitHub versi 2.

Memicu pipeline saat komit baru dibuat pada GitHub repositori dan cabang yang dikonfigurasi.

Untuk berintegrasi GitHub, CodePipeline gunakan aplikasi OAuth atau token akses pribadi untuk pipeline Anda. Jika Anda menggunakan konsol untuk membuat atau mengedit pipeline, CodePipeline buat GitHub webhook yang memulai pipeline saat terjadi perubahan di repositori.

Anda harus sudah membuat GitHub akun dan repositori sebelum Anda menghubungkan pipeline melalui tindakan. GitHub

Jika Anda ingin membatasi akses CodePipeline ke repositori, buat GitHub akun dan berikan akses akun hanya ke repositori yang ingin Anda integrasikan. CodePipeline Gunakan akun tersebut saat Anda mengonfigurasi CodePipeline untuk menggunakan GitHub repositori untuk tahapan sumber di pipeline.

Untuk informasi selengkapnya, lihat dokumentasi GitHub pengembang di GitHub situs web.

Tipe tindakan

  • Kategori: Source

  • Pemilik: ThirdParty

  • Penyedia: GitHub

  • Versi: 1

Parameter konfigurasi

Pemilik

Wajib: Ya

Nama GitHub pengguna atau organisasi yang memiliki GitHub repositori.

Repo

Wajib: Ya

Nama repositori tempat perubahan sumber akan dideteksi.

Cabang

Wajib: Ya

Nama cabang tempat perubahan sumber harus dideteksi.

O AuthToken

Wajib: Ya

Merupakan token GitHub otentikasi yang memungkinkan CodePipeline untuk melakukan operasi pada GitHub repositori Anda. Entri selalu ditampilkan sebagai topeng dari empat tanda bintang. Ini merupakan salah satu dari nilai-nilai berikut:

  • Saat Anda menggunakan konsol untuk membuat pipeline, CodePipeline gunakan token OAuth untuk mendaftarkan koneksi. GitHub

  • Ketika Anda menggunakan AWS CLI untuk membuat pipeline, Anda dapat meneruskan token akses GitHub pribadi Anda di bidang ini. Ganti tanda bintang (****) dengan token akses pribadi Anda yang disalin dari. GitHub Saat Anda menjalankan get-pipeline untuk melihat konfigurasi tindakan, topeng empat tanda bintang ditampilkan untuk nilai ini.

  • Saat Anda menggunakan AWS CloudFormation template untuk membuat pipeline, Anda harus terlebih dahulu menyimpan token sebagai rahasia AWS Secrets Manager. Anda menyertakan nilai untuk bidang ini sebagai referensi dinamis ke rahasia yang disimpan di Secrets Manager, seperti{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}.

Untuk informasi selengkapnya tentang GitHub cakupan, lihat Referensi API GitHub Pengembang di GitHub situs web.

PollForSourceChanges

Wajib: Tidak

PollForSourceChangesmengontrol apakah CodePipeline polling GitHub repositori untuk perubahan sumber. Sebaiknya gunakan webhook untuk mendeteksi perubahan sumber. Untuk informasi selengkapnya tentang mengonfigurasi webhook, lihat atau. Migrasikan jalur pemungutan suara ke webhook (tindakan sumber GitHub versi 1) (CLI) Perbarui saluran pipa untuk acara push (tindakan sumber GitHub versi 1) (AWS CloudFormation templat)

penting

Jika Anda bermaksud mengonfigurasi webhook, Anda harus mengatur PollForSourceChanges false untuk menghindari eksekusi pipeline duplikat.

Nilai yang valid untuk parameter ini:

  • True: Jika disetel, CodePipeline polling repositori Anda untuk perubahan sumber.

    catatan

    Jika Anda menghilangkanPollForSourceChanges, CodePipeline default untuk polling repositori Anda untuk perubahan sumber. Perilaku ini sama seperti jika PollForSourceChanges diatur ketrue.

  • False: Jika disetel, CodePipeline tidak melakukan polling repositori Anda untuk perubahan sumber. Gunakan pengaturan ini jika Anda bermaksud mengonfigurasi webhook untuk mendeteksi perubahan sumber.

Artefak masukan

  • Jumlah artefak: 0

  • Deskripsi: Artefak masukan tidak berlaku untuk jenis tindakan ini.

Artefak keluaran

  • Jumlah artefak: 1

  • Deskripsi: Artefak keluaran dari tindakan ini adalah file ZIP yang berisi konten repositori dan cabang yang dikonfigurasi pada komit yang ditentukan sebagai revisi sumber untuk eksekusi pipeline. Artefak yang dihasilkan dari repositori adalah artefak keluaran untuk tindakan tersebut. GitHub ID komit kode sumber ditampilkan CodePipeline sebagai revisi sumber untuk eksekusi pipeline yang dipicu.

Variabel keluaran

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi lebih lanjut tentang variabel di CodePipeline, lihatVariabel.

CommitId

ID GitHub komit yang memicu eksekusi pipeline. ID komit adalah SHA penuh dari komit.

CommitMessage

Pesan deskripsi, jika ada, terkait dengan komit yang memicu eksekusi pipeline.

CommitUrl

Alamat URL untuk komit yang memicu pipeline.

RepositoryName

Nama GitHub repositori tempat komit yang memicu pipeline dibuat.

BranchName

Nama cabang untuk GitHub repositori tempat perubahan sumber dilakukan.

AuthorDate

Tanggal ketika komit ditulis, dalam format stempel waktu.

Untuk informasi selengkapnya tentang perbedaan antara penulis dan committer di Git, lihat Melihat Riwayat Komit di Pro Git oleh Scott Chacon dan Ben Straub.

CommitterDate

Tanggal ketika komit dilakukan, dalam format stempel waktu.

Untuk informasi selengkapnya tentang perbedaan antara penulis dan committer di Git, lihat Melihat Riwayat Komit di Pro Git oleh Scott Chacon dan Ben Straub.

Deklarasi tindakan (GitHubcontoh)

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: ThirdParty Category: Source Provider: GitHub OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: Owner: MyGitHubAccountName Repo: MyGitHubRepositoryName PollForSourceChanges: 'false' Branch: main OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}' Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "ThirdParty", "Category": "Source", "Provider": "GitHub" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName", "PollForSourceChanges": "false", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}" }, "Name": "ApplicationSource" } ] },

Menghubungkan ke GitHub (OAuth)

Pertama kali Anda menggunakan konsol untuk menambahkan GitHub repositori ke pipeline, Anda diminta untuk mengotorisasi CodePipeline akses ke repositori Anda. Token membutuhkan GitHub cakupan berikut:

  • Ruang repo lingkup, yang digunakan untuk kontrol penuh untuk membaca dan menarik artefak dari repositori publik dan swasta ke dalam pipa.

  • Ruang admin:repo_hook lingkup, yang digunakan untuk kontrol penuh kait repositori.

Ketika Anda menggunakan CLI atau AWS CloudFormation template, Anda harus memberikan nilai untuk token akses pribadi yang telah Anda buat. GitHub

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.