View a markdown version of this page

Deklarasi pipa - AWS CodePipeline

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

Deklarasi pipa

Tingkat pipeline dan metadata dari pipeline memiliki struktur dasar yang mencakup parameter dan sintaks berikut. Parameter pipa mewakili struktur tindakan dan tahapan yang akan dilakukan dalam pipa.

Untuk informasi selengkapnya, lihat PipelineDeclaration objek di Panduan CodePipeline API.

Contoh berikut menunjukkan tingkat pipeline dan metadata dari struktur pipeline di JSON dan YAML untuk pipeline tipe V2.

YAML
pipeline: name: MyPipeline roleArn: >- arn:aws:iam::ACCOUNT_ID:role/service-role/AWSCodePipelineServiceRole-us-west-2-MyPipeline artifactStore: type: S3 location: amzn-s3-demo-bucket stages: ... version: 6 executionMode: SUPERSEDED pipelineType: V2 variables: - name: MyVariable defaultValue: '1' triggers: - providerType: CodeStarSourceConnection gitConfiguration: sourceActionName: Source push: - branches: includes: - main excludes: - feature-branch pullRequest: - events: - CLOSED branches: includes: - main* metadata: pipelineArn: 'arn:aws:codepipeline:us-west-2:ACCOUNT_ID:MyPipeline' created: '2019-12-12T06:49:02.733000+00:00' updated: '2020-09-10T06:34:07.447000+00:00' pollingDisabledAt: '2020-09-10T06:34:07.447000+00:00'
JSON
{ "pipeline": { "name": "MyPipeline", "roleArn": "arn:aws:iam::ACCOUNT_ID:role/service-role/AWSCodePipelineServiceRole-us-west-2-MyPipeline", "artifactStore": { "type": "S3", "location": "amzn-s3-demo-bucket" }, "stages": { ... }, "version": 6, "executionMode": "SUPERSEDED", "pipelineType": "V2", "variables": [ { "name": "MyVariable", "defaultValue": "1" } ], "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "branches": { "includes": [ "main" ], "excludes": [ "feature-branch" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "main*" ] } } ] } } ] }, "metadata": { "pipelineArn": "arn:aws:codepipeline:us-west-2:ACCOUNT_ID:MyPipeline", "created": "2019-12-12T06:49:02.733000+00:00", "updated": "2020-09-10T06:34:07.447000+00:00", "pollingDisabledAt": "2020-09-10T06:34:07.447000+00:00" } }

name

Nama dari alur. Saat Anda mengedit atau memperbarui pipeline, nama pipeline tidak dapat diubah.

catatan

Jika Anda ingin mengganti nama pipeline yang ada, Anda dapat menggunakan get-pipeline perintah CLI untuk membangun file JSON yang berisi struktur pipeline Anda. Anda kemudian dapat menggunakan create-pipeline perintah CLI untuk membuat pipeline dengan struktur itu dan memberinya nama baru.

Pelajari

ARN IAM untuk peran CodePipeline layanan, seperti arn:aws:iam: :80398 _. EXAMPLE:role/CodePipeline Service_Role

Untuk menggunakan konsol untuk melihat peran layanan pipeline ARN alih-alih struktur JSON, pilih pipeline Anda di konsol, lalu pilih Peng aturan. Di bawah tab Umum, bidang Arn peran layanan ditampilkan.

ArtifactStore ATAU ArtifactStores

Bid artifactStore ang berisi jenis bucket artefak dan lokasi untuk pipeline dengan semua tindakan di Wilayah yang sama AWS . Jika Anda menambahkan tindakan di Wilayah yang berbeda dari pipeline Anda, pem artifactStores etaan digunakan untuk mencantumkan bucket artefak untuk setiap Wil AWS ayah tempat tindakan dijalankan. Saat Anda membuat atau mengedit pipeline, Anda harus memiliki bucket artefak di Wilayah pipa dan kemudian Anda harus memiliki satu bucket artefak per Wilayah tempat Anda berencana untuk menjalankan tindakan.

catatan

Dalam struktur pipa, Anda harus menyertakan salah satu artifactStore atau artifactStores dalam pipeline Anda, tetapi Anda tidak dapat menggunakan keduanya. Jika Anda membuat tindakan lintas wilayah di alur Anda, Anda harus menggunakan artifactStores.

Contoh berikut menunjukkan struktur dasar untuk pipeline dengan tindakan lintas wilayah yang menggunakan artifactStores parameter:

"pipeline": { "name": "YourPipelineName", "roleArn": "CodePipeline_Service_Role", "artifactStores": { "us-east-1": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket" }, "us-west-2": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket" } }, "stages": [ { ...

jenis

Jenis lokasi untuk bucket artefak, ditentukan sebagai Amazon S3.

lokasi

Nama bucket Amazon S3 yang dibuat secara otomatis untuk Anda saat pertama kali Anda membuat pipeline menggunakan konsol, seperti codepipeline-us-east-2-1234567890, atau bucket Amazon S3 apa pun yang Anda sediakan untuk tujuan ini

tahapan

Parameter ini berisi nama setiap tahap dalam pipeline. Untuk informasi selengkapnya tentang parameter dan sintaks pada tingkat tahap struktur pipeline, lihat StageDeclaration objek di Panduan CodePipeline API.

Struktur pipa untuk tahapan memiliki persyaratan sebagai berikut:

  • Sebuah pipa harus berisi setidaknya dua tahap.

  • Tahap pertama pipa harus berisi setidaknya satu aksi sumber. Itu hanya dapat berisi tindakan sumber.

  • Hanya tahap pertama pipa yang dapat berisi tindakan sumber.

  • Setidaknya satu tahap di setiap pipeline harus berisi tindakan yang bukan tindakan sumber.

  • Semua nama panggung dalam pipeline harus unik.

  • Nama panggung tidak dapat diedit di CodePipeline konsol. Jika Anda mengedit nama panggung dengan menggunakan AWS CLI, dan panggung berisi tindakan dengan satu atau lebih parameter rahasia (seperti token OAuth), nilai parameter rahasia tersebut tidak dipertahankan. Anda harus memasukkan nilai parameter secara manual (yang ditutupi oleh empat tanda bintang dalam JSON yang dikembalikan oleh AWS CLI) dan memasukkannya ke dalam struktur JSON.

penting

Pipeline yang tidak aktif selama lebih dari 30 hari akan menonaktifkan polling untuk pipeline. Untuk informasi selengkapnya, lihat polling DisabledAt dalam referensi struktur pipa. Untuk langkah-langkah untuk memigrasikan pipeline Anda dari polling ke deteksi perubahan berbasis peristiwa, lihat Metode Deteksi Perubahan.

versi

Nomor versi pipeline secara otomatis dibuat dan diperbarui setiap kali Anda memperbarui pipeline.

Mode Eksekusi

Anda dapat mengatur mode eksekusi pipeline sehingga Anda dapat menentukan perilaku pipeline untuk proses berturut-turut, seperti mengantri, mengganti, atau menjalankan dalam mode paralel. Untuk informasi selengkapnya, lihat Mengatur atau mengubah mode eksekusi pipeline.

penting

Untuk saluran pipa dalam mode PARALEL, rollback panggung tidak tersedia. Demikian pula, kondisi kegagalan dengan tipe hasil rollback tidak dapat ditambahkan ke pipeline mode PARALLEL.

PipelineType

Jenis pipa menentukan struktur dan fitur yang tersedia dalam pipeline, seperti untuk pipa tipe V2. Untuk informasi selengkapnya, lihat Jenis pipa.

variabel

Variabel pada tingkat pipeline ditentukan saat pipeline dibuat dan diselesaikan pada waktu proses pipeline. Untuk informasi selengkapnya, lihat Referensi variabel. Untuk tutorial dengan variabel tingkat pipeline yang dilewatkan pada saat eksekusi pipeline, lihat. Tutorial: Gunakan variabel tingkat pipa

pemicu

Pemicu memungkinkan Anda mengonfigurasi pipeline untuk memulai pada jenis peristiwa tertentu atau jenis peristiwa yang difilter, seperti ketika perubahan pada cabang tertentu atau permintaan tarik terdeteksi. Pemicu dapat dikonfigurasi untuk tindakan sumber dengan koneksi yang menggunakan CodeStarSourceConnection tindakan di CodePipeline, seperti, Bitbucket GitHub, dan. GitLab Untuk informasi selengkapnya tentang tindakan sumber yang menggunakan koneksi, lihatTambahkan penyedia sumber pihak ketiga ke saluran pipa menggunakan CodeConnections.

Untuk informasi lebih lanjut dan contoh yang lebih rinci, lihatOtomatiskan saluran pipa awal menggunakan pemicu dan penyaringan.

Untuk pemfilteran, pola ekspresi reguler dalam format glob didukung seperti yang dijelaskan dalamBekerja dengan pola glob dalam sintaks.

catatan

T CodeCommit indakan sumber dan S3 memerlukan sumber daya deteksi perubahan yang dikonfigurasi ( EventBridge aturan) atau menggunakan opsi untuk mensurvei repositori untuk perubahan sumber. Untuk pipeline dengan tindakan sumber Bitbucket GitHub,, atau GitHub Enterprise Server, Anda tidak perlu mengatur webhook atau default untuk polling. Tindakan koneksi mengelola deteksi perubahan untuk Anda.

penting

Pipeline yang tidak aktif selama lebih dari 30 hari akan menonaktifkan polling untuk pipeline. Untuk informasi selengkapnya, lihat polling DisabledAt dalam referensi struktur pipa. Untuk langkah-langkah untuk memigrasikan pipeline Anda dari polling ke deteksi perubahan berbasis peristiwa, lihat Metode Deteksi Perubahan.

Bidang GitConfiguration

Konfigurasi Git untuk pemicu, termasuk jenis peristiwa dan parameter apa pun untuk pemfilteran berdasarkan cabang, jalur file, tag, atau peristiwa permintaan tarik.

Bidang dalam struktur JSON didefinisikan sebagai berikut:

  • sourceActionName: Nama tindakan sumber pipeline dengan konfigurasi Git.

  • push: Dorong acara dengan pemfilteran. Peristiwa ini menggunakan operasi OR antara filter push yang berbeda dan operasi AND di dalam filter.

    • branches: Cabang untuk disaring. Cabang menggunakan operasi AND antara termasuk dan tidak termasuk.

      • includes: Pola untuk disaring untuk cabang yang akan disertakan. Termasuk menggunakan operasi OR.

      • excludes: Pola untuk disaring untuk cabang yang akan dikecualikan. Tidak termasuk menggunakan operasi OR.

    • filePaths: Nama jalur file untuk difilter.

      • includes: Pola untuk difilter untuk jalur file yang akan disertakan. Termasuk menggunakan operasi OR.

      • excludes: Pola untuk difilter untuk jalur file yang akan dikecualikan. Tidak termasuk menggunakan operasi OR.

    • tags: Nama tag untuk difilter.

      • includes: Pola untuk difilter untuk tag yang akan disertakan. Termasuk menggunakan operasi OR.

      • excludes: Pola untuk difilter untuk tag yang akan dikecualikan. Tidak termasuk menggunakan operasi OR.

  • pullRequest: Acara permintaan tarik dengan pemfilteran pada peristiwa permintaan tarik dan filter permintaan tarik.

    • events: Memfilter pada acara permintaan tarik terbuka, diperbarui, atau ditutup seperti yang ditentukan.

    • branches: Cabang untuk disaring. Cabang menggunakan operasi AND antara termasuk dan tidak termasuk.

      • includes: Pola untuk disaring untuk cabang yang akan disertakan. Termasuk menggunakan operasi OR.

      • excludes: Pola untuk disaring untuk cabang yang akan dikecualikan. Tidak termasuk menggunakan operasi OR.

    • filePaths: Nama jalur file untuk difilter.

      • includes: Pola untuk difilter untuk jalur file yang akan disertakan. Termasuk menggunakan operasi OR.

      • excludes: Pola untuk difilter untuk jalur file yang akan dikecualikan. Tidak termasuk menggunakan operasi OR.

Berikut ini adalah contoh konfigurasi pemicu untuk jenis peristiwa permintaan push dan pull.

"triggers": [ { "provider": "Connection", "gitConfiguration": { "sourceActionName": "ApplicationSource", "push": [ { "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] }, "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] } } ] } } ],

Bidang push jenis acara untuk menyertakan dan mengecualikan

Sertakan dan mengecualikan perilaku untuk tingkat bidang konfigurasi Git untuk jenis peristiwa push ditampilkan dalam daftar berikut:

push (OR operation is used between push and pullRequest or multiples) filePaths (AND operation is used between filePaths, branches, and tags) includes (AND operation is used between includes and excludes) **/FILE.md, **/FILE2 (OR operation is used between file path names) excludes (AND operation is used between includes and excludes) **/FILE.md, **/FILE2 (OR operation is used between file path names) branches (AND operation is used between filePaths, branches, and tags) includes (AND operation is used between includes and excludes) BRANCH/**", "BRANCH2/** (OR operation is used between branch names) excludes (AND operation is used between includes and excludes) BRANCH/**", "BRANCH2/** (OR operation is used between branch names) tags (AND operation is used between filePaths, branches, and tags) includes (AND operation is used between includes and excludes) TAG/**", "TAG2/** (OR operation is used between tag names) excludes (AND operation is used between includes and excludes) TAG/**", "TAG2/** (OR operation is used between tag names)

Bidang permintaan tarik jenis acara untuk menyertakan dan mengecualikan

Sertakan dan mengecualikan perilaku untuk tingkat bidang konfigurasi Git untuk jenis peristiwa permintaan tarik ditampilkan dalam daftar berikut:

pullRequest (OR operation is used between push and pullRequest or multiples) events (AND operation is used between events, filePaths, and branches). Includes/excludes are N/A for pull request events. filePaths (AND operation is used between events, filePaths, and branches) includes (AND operation is used between includes and excludes) **/FILE.md, **/FILE2 (OR operation is used between file path names) excludes (AND operation is used between includes and excludes) **/FILE.md, **/FILE2 (OR operation is used between file path names) branches (AND operation is used between events, filePaths, and branches) includes (AND operation is used between includes and excludes) BRANCH/**", "BRANCH2/** (OR operation is used between branch names) excludes (AND operation is used between includes and excludes) BRANCH/**", "BRANCH2/** (OR operation is used between branch names)

Metadata

Bidang metadata pipeline berbeda dari struktur pipeline dan tidak dapat diedit. Saat Anda memperbarui pipeline, tanggal di bidang updated metadata berubah secara otomatis.

PipelineLearn

Nama Sumber Daya Amazon (ARN) dari pipeline.

Untuk menggunakan konsol untuk melihat ARN pipeline alih-alih struktur JSON, pilih pipeline Anda di konsol, lalu pilih Peng aturan. Di bawah tab Umum, bidang Pipeline ARN ditampilkan.

dibuat

Tanggal dan waktu ketika pipa dibuat.

diperbarui

Tanggal dan waktu ketika pipeline terakhir diperbarui.

pemungutan suara DisabledAt

Tanggal dan waktu kapan, untuk pipeline yang dikonfigurasi untuk polling untuk deteksi perubahan, saat polling dinonaktifkan.

Pipeline yang tidak aktif selama lebih dari 30 hari akan menonaktifkan polling untuk pipeline.

  • Pipeline yang tidak aktif akan menonaktifkan polling setelah 30 hari tanpa eksekusi.

  • Pipeline EventBridge yang menggunakan, Kon CodeStar eksi, atau webhook tidak akan terpengaruh.

  • Pipeline aktif tidak akan terpengaruh.

Untuk informasi selengkapnya, lihat pollingDisabledAt parameter di bawah PipelineMetadata objek di Panduan CodePipeline API. Untuk langkah-langkah untuk memigrasikan pipeline Anda dari polling ke deteksi perubahan berbasis peristiwa, lihat Metode Deteksi Perubahan.