View a markdown version of this page

CodeCommit referensi tindakan sumber - AWS CodePipeline

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

CodeCommit referensi tindakan sumber

Memulai pipeline saat komit baru dibuat pada CodeCommit repositori dan cabang yang dikonfigurasi.

Jika Anda menggunakan konsol untuk membuat atau mengedit pipeline, CodePipeline membuat EventBridge aturan yang memulai pipeline Anda saat terjadi perubahan di repositori.

catatan

Untuk Amazon ECR, Amazon S3, atau CodeCommit sumber, Anda juga dapat membuat penggantian sumber menggunakan entri transformasi input untuk menggunakan revisionValue in EventBridge untuk peristiwa pipeline Anda, di mana revisionValue ini berasal dari variabel peristiwa sumber untuk kunci objek, komit, atau ID gambar Anda. Untuk informasi selengkapnya, lihat langkah opsional untuk entri transformasi input yang disertakan dalam prosedur di bawah Tindakan dan sumber EventBridge daya sumber Amazon ECRMenghubungkan ke tindakan sumber Amazon S3 dengan sumber diaktifkan untuk acara,, atauCodeCommit Tindakan sumber dan EventBridge.

Anda harus telah membuat CodeCommit repositori sebelum menghubungkan pipeline melalui CodeCommit tindakan.

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

  • Default — Mengkonfigurasi tindakan CodeCommit sumber untuk menampilkan file ZIP dengan salinan komit yang dangkal.

  • Klon penuh — Mengkonfigurasi tindakan sumber untuk menampilkan referensi URL Git ke repositori untuk tindakan selanjutnya.

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

Tipe tindakan

  • Kategori: Source

  • Pemilik: AWS

  • Penyedia: CodeCommit

  • Versi: 1

Parameter konfigurasi

RepositoryName

Wajib: Ya

Nama repositori tempat perubahan sumber akan dideteksi.

BranchName

Wajib: Ya

Nama cabang tempat perubahan sumber akan dideteksi.

PollForSourceChanges

Wajib: Tidak

PollForSourceChangesmengontrol apakah melakukan CodePipeline polling CodeCommit repositori untuk perubahan sumber. Sebaiknya gunakan Ev CloudWatch ents untuk mendeteksi perubahan sumber sebagai gantinya. Untuk informasi selengkapnya tentang mengonfigur CloudWatch asi Acara, lihat Migrasikan saluran polling (CodeCommit sumber) (CLI) atauMigrasikan saluran polling (CodeCommit sumber) (CloudFormation templat).

penting

Jika Anda ingin mengonfigurasi aturan CloudWatch Peristiwa, Anda harus mengatur PollForSourceChanges false untuk menghindari eksekusi pipeline duplikat.

Nilai yang valid untuk parameter ini:

  • true: Jika disetel, CodePipeline jajak pendapat repositori Anda untuk perubahan sumber.

    catatan

    Jika Anda menghilangkanPollForSourceChanges, CodePipeline default akan melakukan polling repositori Anda untuk perubahan sumber. Perilaku ini sama seperti jika PollForSourceChanges disertakan dan disetel ketrue.

  • false: Jika disetel, CodePipeline tidak melakukan polling repositori Anda untuk perubahan sumber. Gunakan setelan ini jika Anda ingin mengonfigurasi aturan Per CloudWatch istiwa untuk mendeteksi perubahan sumber.

OutputArtifactFormat

Wajib: Tidak

Format artefak keluaran. Nilai bisa berupa CODEBUILD_CLONE_REF atauCODE_ZIP. Jika tidak ditentukan, defaultnya adalahCODE_ZIP.

penting

CODEBUILD_CLONE_REFOpsi ini hanya dapat digunakan oleh tindakan CodeBuild hilir.

Jika Anda memilih opsi ini, Anda perlu menambahkan codecommit:GitPull izin ke peran CodeBuild layanan Anda seperti yang ditunjukkan padaTambahkan CodeBuild GitClone izin untuk tindakan CodeCommit sumber. Anda juga perlu menambahkan codecommit:GetRepository izin ke peran CodePipeline layanan Anda seperti yang ditunjukkan padaMenambahkan izin ke peran CodePipeline layanan. Untuk tutorial yang menunjukkan cara menggunakan opsi klon penuh, lihatTutorial: Gunakan klon penuh dengan sumber CodeCommit pipeline.

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 CodeCommit tindakan tersebut. 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 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 tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi selengkapnya, lihat Referensi variabel.

CommitId

ID CodeCommit komit yang memicu eksekusi pipeline. ID komit adalah SHA lengkap komit.

CommitMessage

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

RepositoryName

Nama CodeCommit repositori tempat komit yang memicu pipeline dibuat.

BranchName

Nama cabang untuk CodeCommit repositori tempat perubahan sumber dilakukan.

AuthorDate

Tanggal ketika komit ditulis, dalam format stempel waktu.

CommitterDate

Tanggal ketika komit dilakukan, dalam format stempel waktu.

Izin peran layanan: CodeCommit tindakan

Saat CodePipeline menjalankan tindakan, kebijakan peran CodePipeline layanan memerlukan izin berikut, yang dicakup secara tepat ke ARN sumber daya pipeline untuk mempertahankan akses dengan hak istimewa paling sedikit. Misalnya, tambahkan berikut ini ke pernyataan kebijakan Anda:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:CancelUploadArchive", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:GetUploadArchiveStatus", "codecommit:UploadArchive" ], "Resource": [ "arn:aws:codecommit:*:111122223333:[[codecommitRepostories]]" ] } ] }

Contoh konfigurasi tindakan

Contoh untuk format artefak keluaran default

YAML
name: Source actionTypeId: category: Source owner: AWS provider: CodeCommit version: '1' runOrder: 1 configuration: BranchName: main PollForSourceChanges: 'false' RepositoryName: MyWebsite outputArtifacts: - name: Artifact_MyWebsiteStack inputArtifacts: [] region: us-west-2 namespace: SourceVariables
JSON
{ "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "runOrder": 1, "configuration": { "BranchName": "main", "PollForSourceChanges": "false", "RepositoryName": "MyWebsite" }, "outputArtifacts": [ { "name": "Artifact_MyWebsiteStack" } ], "inputArtifacts": [], "region": "us-west-2", "namespace": "SourceVariables" }

Contoh untuk format artefak keluaran klon penuh

YAML
name: Source actionTypeId: category: Source owner: AWS provider: CodeCommit version: '1' runOrder: 1 configuration: BranchName: main OutputArtifactFormat: CODEBUILD_CLONE_REF PollForSourceChanges: 'false' RepositoryName: MyWebsite outputArtifacts: - name: SourceArtifact inputArtifacts: [] region: us-west-2 namespace: SourceVariables
JSON
{ "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "runOrder": 1, "configuration": { "BranchName": "main", "OutputArtifactFormat": "CODEBUILD_CLONE_REF", "PollForSourceChanges": "false", "RepositoryName": "MyWebsite" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "inputArtifacts": [], "region": "us-west-2", "namespace": "SourceVariables" }

Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.