CodeStarSourceConnection untuk Bitbucket, GitHub, dan GitHub Tindakan Server Enterprise - AWS CodePipeline

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

CodeStarSourceConnection untuk Bitbucket, GitHub, dan GitHub Tindakan Server Enterprise

Memicu pipeline ketika komit baru dibuat pada repositori kode sumber pihak ketiga. Tindakan sumber mengambil perubahan kode ketika pipeline dijalankan secara manual atau ketika peristiwa webhook dikirim dari penyedia sumber.

catatan

Fitur ini tidak tersedia di Wilayah Asia Pacific (Hong Kong) dan Europe (Milan). Untuk mereferensikan tindakan lain yang tersedia, lihatIntegrasi produk dan layanan dengan CodePipeline.

Koneksi dapat mengasosiasikanAWSsumber daya dengan repositori pihak ketiga berikut:

  • Bitbucket Cloud (melaluiBitbucketopsi penyedia di CodePipeline konsol)

    catatan

    Anda dapat membuat koneksi ke repositori Bitbucket Cloud. Jenis penyedia Bitbucket yang diinstal, seperti Bitbucket Server, tidak didukung.

  • catatan

    Jika Anda menggunakan ruang kerja Bitbucket, Anda harus memiliki akses administrator untuk membuat sambungan.

  • GitHub dan GitHub Enterprise Cloud (melaluiGitHub (Versi 2)opsi penyedia di CodePipeline konsol)

    catatan

    Jika repositori Anda berada di GitHub organisasi, Anda harus menjadi pemilik organisasi untuk membuat koneksi. Jika Anda menggunakan repositori yang tidak ada dalam organisasi, Anda harus menjadi pemilik repositori.

  • GitHub Enterprise Server (melaluiGitHub Server Enterpriseopsi penyedia di CodePipeline konsol)

catatan

Setiap koneksi mendukung semua repositori yang Anda miliki dengan penyedia itu. Anda hanya perlu membuat koneksi baru untuk setiap jenis penyedia.

Koneksi memungkinkan pipeline Anda mendeteksi perubahan sumber melalui aplikasi instalasi penyedia pihak ketiga. Misalnya, webhook digunakan untuk berlangganan GitHub jenis acara dan dapat diinstal pada organisasi, repositori, atau GitHub Aplikasi. Koneksi Anda menginstal webhook repositori di GitHub Aplikasi yang berlangganan GitHub mendorong jenis acara.

Setelah perubahan kode terdeteksi, Anda memiliki opsi berikut untuk meneruskan kode ke tindakan selanjutnya:

  • Default: Seperti yang ada lainnya CodePipeline tindakan sumber,CodeStarSourceConnectiondapat menampilkan file ZIP dengan salinan dangkal dari komit Anda.

  • Klon penuh:CodeStarSourceConnectionjuga dapat dikonfigurasi untuk menampilkan referensi URL ke repo untuk tindakan selanjutnya.

    Saat ini, referensi URL Git hanya dapat digunakan oleh hilir CodeBuild tindakan untuk mengkloning repo dan metadata Git terkait. Mencoba meneruskan referensi URL Git ke non-CodeBuild tindakan menghasilkan kesalahan.

CodePipeline meminta Anda untuk menambahkanAWSAplikasi penginstalan ke akun pihak ketiga Anda saat membuat koneksi. Anda harus sudah membuat akun penyedia pihak ketiga Anda dan repositori sebelum Anda dapat terhubung melaluiCodeStarSourceConnectiontindakan.

catatan

Untuk membuat atau melampirkan kebijakan ke pengguna atau peran IAM Anda dengan izin yang diperlukan untuk menggunakan AWS CodeStar koneksi, lihatReferensi. Tergantung pada kapan Anda CodePipeline peran layanan dibuat, Anda mungkin perlu memperbarui izinnya untuk mendukung AWS CodeStar koneksi. Untuk petunjuk, lihat Tambahkan izin ke CodePipelineperan layanan.

Tipe tindakan

  • Kategori:Source

  • Pemilik:AWS

  • Penyimpanan penyedia:CodeStarSourceConnection

  • Versi:1

Parameter konfigurasi

ConnectionArn

Diperlukan: Ya

ARN koneksi yang dikonfigurasi dan diautentikasi untuk penyedia sumber.

FullRepositoryId

Diperlukan: Ya

Pemilik dan nama repositori tempat perubahan sumber dideteksi.

Contoh: some-user/my-repo

penting

Anda harus mempertahankan kasus yang benar untukFullRepositoryIdnilai. Misalnya, jika nama pengguna Andasome-userdan nama repo adalahMy-Repo, nilai yang disarankanFullRepositoryIdadalahsome-user/My-Repo.

BranchName

Diperlukan: Ya

Nama cabang di mana perubahan sumber yang akan terdeteksi.

OutputArtifactFormat

Diperlukan: Tidak

Menentukan format artefak keluaran. Bisa jadiCODEBUILD_CLONE_REFatauCODE_ZIP. Jika tidak ditentukan, default adalahCODE_ZIP.

penting

KlasterCODEBUILD_CLONE_REFpilihan hanya dapat digunakan oleh CodeBuildtindakan hilir.

Jika Anda memilih opsi ini, Anda harus memperbarui izin untuk CodeBuild peran layanan proyek seperti yang ditunjukkan padaTambahkan CodeBuild GitClone izin untuk koneksi ke Bitbucket, GitHub, atau GitHub Server Enterprise. Untuk tutorial yang menunjukkan cara menggunakanKlon penuhpilihan, lihatTutorial: Gunakan klon penuh dengan sumber pipa GitHub.

DetectChanges

Diperlukan: Tidak

Kontrol secara otomatis memulai pipeline Anda ketika komit baru dibuat pada repositori dan cabang yang dikonfigurasi. Jika tidak ditentukan, nilai default adalahtrue, dan bidang tidak ditampilkan secara default. Nilai yang valid untuk parameter ini:

  • true: CodePipeline secara otomatis memulai pipeline Anda pada commit baru.

  • false: CodePipeline tidak memulai pipeline Anda pada commit baru.

Artefak

  • Jumlah artefak: 0

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

Artefak

  • Jumlah artefak: 1

  • Deskripsi: Artefak yang dihasilkan dari repositori adalah artefak keluaran untukCodeStarSourceConnectiontindakan. Kode sumber komit ID ditampilkan di CodePipeline sebagai revisi sumber untuk eksekusi pipeline dipicu. Anda dapat mengkonfigurasi artefak keluaran dari tindakan ini di:

    • Sebuah file ZIP yang berisi isi dari repositori dikonfigurasi dan cabang di komit ditentukan sebagai revisi sumber untuk eksekusi pipeline.

    • File JSON yang berisi referensi URL ke repositori sehingga tindakan hilir dapat melakukan perintah Git secara langsung.

      penting

      Opsi ini hanya dapat digunakan oleh CodeBuild tindakan hilir.

      Jika Anda memilih opsi ini, Anda harus memperbarui izin untuk CodeBuild peran layanan proyek seperti yang ditunjukkan padaPemecahan Masalah CodePipeline. Untuk tutorial yang menunjukkan cara menggunakanKlon penuhpilihan, lihatTutorial: Gunakan klon penuh dengan sumber pipa GitHub.

Variabel keluaran

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

Untuk informasi selengkapnya, lihat Variabel.

AuthorDate

Tanggal ketika komit ditulis, dalam format timestamp.

BranchName

Nama cabang untuk repositori tempat perubahan sumber dibuat.

CommitId

ID komit yang memicu eksekusi pipeline.

CommitMessage

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

ConnectionArn

ARN koneksi yang dikonfigurasi dan diautentikasi untuk penyedia sumber.

FullRepositoryName

Nama repositori tempat komit yang memicu pipeline dibuat.

Deklarasi Aksi

Pada contoh berikut, artefak keluaran diatur ke format ZIP defaultCODE_ZIPuntuk koneksi dengan ARNarn:aws:codestar-connections:region:account-id:connection/connection-id.

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: AWS Category: Source Provider: CodeStarSourceConnection OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: ConnectionArn: "arn:aws:codestar-connections:region:account-id:connection/connection-id" FullRepositoryId: "some-user/my-repo" BranchName: "main" OutputArtifactFormat: "CODE_ZIP" Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "AWS", "Category": "Source", "Provider": "CodeStarSourceConnection" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "ConnectionArn": "arn:aws:codestar-connections:region:account-id:connection/connection-id", "FullRepositoryId": "some-user/my-repo", "BranchName": "main", "OutputArtifactFormat": "CODE_ZIP" }, "Name": "ApplicationSource" } ] },

Menginstal aplikasi instalasi dan membuat koneksi

Saat pertama kali Anda menggunakan konsol untuk menambahkan koneksi baru ke repositori pihak ketiga, Anda harus mengotorisasi CodePipeline akses ke repositori Anda. Anda memilih atau membuat aplikasi instalasi yang membantu Anda terhubung ke akun tempat Anda membuat repositori kode pihak ketiga.

Saat Anda menggunakanAWS CLIatauAWS CloudFormationTemplate, Anda harus menyediakan koneksi ARN koneksi yang telah melalui jabat tangan instalasi. Jika tidak, pipa tidak dipicu.

catatan

UntukCodeStarSourceConnectiontindakan sumber, Anda tidak perlu mengatur webhook atau default untuk polling. Tindakan koneksi mengelola deteksi perubahan sumber untuk Anda.

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

  • AWS::CodeStarConnections::Connection— ItuAWS CloudFormationreferensi template untukAWS CodeStar Sumber daya koneksi menyediakan parameter dan contoh untuk koneksi diAWS CloudFormationtemplat.

  • AWS CodeStarReferensi— ItuAWS CodeStar Referensimemberikan informasi referensi untuk tindakan koneksi yang tersedia.

  • Untuk melihat langkah-langkah untuk membuat pipeline dengan tindakan sumber yang didukung oleh koneksi, lihat berikut ini:

    • Untuk Bitbucket, gunakanBitbucketopsi di konsol atauCodestarSourceConnectiontindakan di CLI. Lihat Bitbucket koneksi Bitbucket.

    • Untuk GitHub dan GitHub Enterprise Cloud, gunakanGitHubopsi penyedia di konsol atauCodestarSourceConnectiontindakan di CLI. Lihat GitHub hubungan.

    • Untuk GitHub Enterprise Server, gunakanGitHub Server Enterpriseopsi penyedia di konsol atauCodestarSourceConnectiontindakan di CLI. Lihat Koneksi GitHub Enterprise Server.

  • Untuk melihat tutorial Memulai yang membuat pipeline dengan sumber Bitbucket dan CodeBuild action, lihatMemulai dengan koneksi.

  • Untuk tutorial yang menunjukkan cara menyambung ke GitHub repositori dan menggunakanKlon penuhpilihan dengan hilir CodeBuild action, lihatTutorial: Gunakan klon penuh dengan sumber pipa GitHub.