Tambahkan aksi lintas Wilayah di CodePipeline - AWS CodePipeline

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

Tambahkan aksi lintas Wilayah di CodePipeline

AWS CodePipelinemenyertakan sejumlah tindakan yang membantu Anda mengonfigurasi build, menguji, dan menyebarkan sumber daya untuk proses rilis otomatis Anda. Anda dapat menambahkan tindakan ke saluran pipa yang ada diAWSWilayah berbeda dari pipa Anda. SaatAWSlayanan adalah penyedia untuk suatu tindakan, dan jenis tindakan/jenis penyedia ini berbedaAWSWilayah dari alur Anda, ini tindakan lintas Wilayah.

catatan

Tindakan lintas wilayah didukung dan hanya dapat dibuat pada merekaAWSDaerah dimana CodePipeline didukung. Untuk daftar yang didukungAWSWilayah untuk CodePipeline, lihatQuotaAWSCodePipeline.

Anda dapat menggunakan konsol,AWS CLI, atauAWS CloudFormationuntuk menambahkan tindakan lintas wilayah di jaringan pipa.

catatan

Jenis tindakan tertentu dalam CodePipeline mungkin hanya tersedia di tertentuAWSWilayah. Perhatikan juga bahwa mungkin adaAWSDaerah di mana jenis tindakan tersedia, tetapi spesifikAWSpenyedia untuk jenis tindakan tersebut tidak tersedia.

Ketika Anda membuat atau mengedit pipa, Anda harus memiliki ember artefak di daerah pipa dan kemudian Anda harus memiliki satu ember artefak per Wilayah di mana Anda berencana untuk menjalankan tindakan. Untuk informasi tentang parameter ArtifactStores, lihat Referensi struktur pipa CodePipeline.

catatan

CodePipeline menangani penyalinan artefak dari satuAWSWilayah ke Wilayah lain saat melakukan tindakan lintas wilayah.

Jika Anda menggunakan konsol untuk membuat pipeline atau tindakan lintas wilayah, ember artefak default dikonfigurasi oleh CodePipeline di Daerah di mana Anda memiliki tindakan. Saat Anda menggunakanAWS CLI,AWS CloudFormation, atau SDK untuk membuat saluran pipa atau tindakan lintas wilayah, Anda memberikan ember artefak untuk setiap Wilayah di mana Anda memiliki tindakan.

catatan

Anda harus membuat ember artefak dan kunci enkripsi yang samaAWSWilayah sebagai tindakan lintas wilayah dan di akun yang sama dengan pipa Anda.

Anda tidak dapat membuat tindakan lintas wilayah untuk jenis tindakan berikut:

  • Tindakan sumber

  • Tindakan pihak ketiga

  • Tindakan kustom

Ketika pipa mencakup tindakan lintas wilayah sebagai bagian dari panggung, CodePipeline mereplikasi hanya artefak masukan dari aksi lintas wilayah dari daerah pipa ke wilayah tindakan ini.

catatan

Wilayah dan Wilayah tempat Anda CloudWatch Peristiwa mengubah sumber daya deteksi dipertahankan tetap sama. Wilayah tempat pipa Anda di-host tidak berubah.

Mengelola tindakan lintas wilayah dalam pipeline (konsol)

Anda dapat menggunakan CodePipeline konsol untuk menambahkan tindakan lintas wilayah ke pipa yang ada. Untuk membuat pipeline baru dengan tindakan Cross-region menggunakan Create pipeline wizard, lihatBuat pipeline (konsol).

Di konsol, Anda membuat tindakan lintas wilayah dalam tahap pipa dengan memilih penyedia tindakan danWilayahbidang, yang mencantumkan sumber daya yang telah Anda buat di wilayah tersebut untuk penyedia tersebut. Ketika Anda menambahkan tindakan lintas wilayah, CodePipeline menggunakan ember artefak terpisah di wilayah aksi. Untuk informasi selengkapnya tentang bucket artefak lintas Region, lihatReferensi struktur pipa CodePipeline.

Tambahkan tindakan lintas wilayah ke tahap pipa (konsol)

Gunakan konsol untuk menambahkan tindakan Cross-region ke pipeline.

catatan

Jika pipa berjalan saat perubahan disimpan, eksekusi tersebut tidak selesai.

Untuk menambahkan tindakan lintas Region

  1. Masuk ke konsol di konsol di konsol dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Pilih alur Anda, lalu pilihSunting.

  3. Di bagian bawah diagram, pilih+ Tambahkan tahapjika Anda menambahkan tahap baru, atau memilihMengedit tahapjika Anda ingin menambahkan tindakan ke tahap yang ada.

  4. PadaSunting: <Stage>, pilih+ Tambahkan grup aksiuntuk menambahkan aksi serial. Atau pilih+ Tambahkan tindakanuntuk menambahkan tindakan parallel.

  5. PadaEdit tindakanlaman:

    1. MasukNama tindakan, masukkan nama untuk aksi lintas Wilayah.

    2. MasukPenyedia tindakan, pilih penyedia tindakan.

    3. MasukWilayah, pilihAWSWilayah di mana Anda telah membuat atau berencana untuk membuat sumber daya untuk tindakan. Ketika Wilayah dipilih, sumber daya yang tersedia untuk Wilayah tersebut terdaftar untuk seleksi. ParameterWilayahbidang menunjuk di manaAWSsumber daya dibuat untuk jenis tindakan dan jenis penyedia ini. Bidang ini hanya menampilkan untuk tindakan di mana penyedia tindakan adalahAWSlayanan. ParameterWilayahdefault bidang yang samaWilayah AWSsebagai alur Anda.

    4. Masukartefakpilih input yang sesuai dari tahap sebelumnya. Misalnya, jika tahap sebelumnya adalah tahap sumber, pilihSourceArtifact.

    5. Lengkapi semua bidang yang diperlukan untuk penyedia tindakan yang Anda konfigurasikan.

    6. Masukartefakmemilih output yang sesuai ke tahap berikutnya. Misalnya, jika tahap berikutnya adalah tahap penyebaran, pilihBuildArtifact.

    7. Pilih Save (Simpan).

  6. PadaSunting: <Stage>, pilihSelesai.

  7. Pilih Save (Simpan).

Mengedit tindakan lintas wilayah dalam tahap pipa (konsol)

Gunakan konsol untuk mengedit tindakan Cross-region yang ada dalam pipeline.

catatan

Jika pipa berjalan saat perubahan disimpan, eksekusi tersebut tidak selesai.

Untuk mengedit tindakan lintas Region

  1. Masuk ke konsol di konsol di konsol dihttps://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Pilih alur Anda, lalu pilihSunting.

  3. PilihMengedit tahap.

  4. PadaSunting: <Stage>, pilih ikon untuk mengedit tindakan yang ada.

  5. PadaEdit tindakanhalaman, membuat perubahan pada bidang, yang sesuai.

  6. PadaSunting: <Stage>, pilihSelesai.

  7. Pilih Save (Simpan).

Menghapus tindakan lintas wilayah dari tahap pipa (konsol)

Gunakan konsol untuk menghapus tindakan Cross-region yang ada dari pipeline.

catatan

Jika pipa berjalan saat perubahan disimpan, eksekusi tersebut tidak selesai.

Untuk menghapus tindakan lintas Region

  1. Masuk ke konsol di konsol di konsol dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Pilih alur Anda, lalu pilihSunting.

  3. PilihMengedit tahap.

  4. PadaSunting: <Stage>, pilih ikon untuk menghapus tindakan yang ada.

  5. PadaSunting: <Stage>, pilihSelesai.

  6. Pilih Save (Simpan).

Tambahkan tindakan lintas wilayah ke pipeline (CLI)

Anda dapat menggunakanAWS CLIuntuk menambahkan tindakan lintas wilayah ke pipa yang ada.

Untuk membuat tindakan lintas Region di tahap alur denganAWS CLI, Anda menambahkan tindakan konfigurasi bersama dengan opsionalregionbidang. Anda juga harus telah membuat ember artefak di wilayah aksi. Alih-alih menyediakanartifactStoredari pipa wilayah tunggal, Anda menggunakanartifactStoresparameter untuk menyertakan daftar ember artefak masing-masing Wilayah.

catatan

Dalam panduan ini dan contoh-contohnya,RegionAadalah Wilayah tempat alur dibuat. Ini memiliki akses keRegionABucket Amazon S3 digunakan untuk menyimpan artefak pipa dan peran layanan yang digunakan oleh CodePipeline. RegionBadalah wilayah di mana CodeDeploy aplikasi, grup penyebaran, dan peran layanan yang digunakan oleh CodeDeploy diciptakan.

Prasyarat

Anda harus membuat yang berikut ini:

  • Sebuah pipa diRegionA.

  • Bucket artefak Amazon S3RegionB.

  • Sumber daya untuk tindakan Anda, seperti CodeDeploy grup aplikasi dan penyebaran untuk tindakan penyebaran lintas wilayah, diRegionB.

Tambahkan tindakan lintas wilayah ke pipeline (CLI)

MenggunakanAWS CLIuntuk menambahkan tindakan lintas wilayah ke pipa.

Untuk menambahkan tindakan lintas Region

  1. Untuk pipa diRegionA, jalankanget-pipelineperintah untuk menyalin struktur pipa ke dalam file JSON. Misalnya, untuk pipa bernamaMyFirstPipeline, jalankan perintah berikut:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json

    Perintah ini tidak mengembalikan apa pun, tapi file yang Anda buat akan muncul di direktori tempat Anda menjalankan perintah tersebut.

  2. Tambahkanregionbidang untuk menambahkan tahap baru dengan tindakan lintas wilayah Anda yang mencakup Wilayah dan sumber daya untuk tindakan Anda. Contoh JSON berikut menambahkan tahap Deploy dengan aksi penyebaran Cross-region di mana penyedia adalah CodeDeploy, di wilayah baruus-east-1.

    { "name": "Deploy", "actions": [ { "inputArtifacts": [ { "name": "SourceArtifact" } ], "name": "Deploy", "region": "RegionB", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "name", "DeploymentGroupName": "name" }, "runOrder": 1 }
  3. Dalam struktur pipa, lepaskanartifactStorebidang dan menambahkanartifactStorespeta untuk tindakan Lintas wilayah baru Anda. Pemetaan harus menyertakan entri untuk masing-masingAWSWilayah di mana Anda memiliki tindakan. Untuk setiap entri dalam pemetaan, sumber daya harus di masing-masingAWSWilayah. Pada contoh di bawah ini,ID-Aadalah ID kunci enkripsi untukRegionA, danID-Badalah ID kunci enkripsi untukRegionB.

    "artifactStores":{ "RegionA":{ "encryptionKey":{ "id":"ID-A", "type":"KMS" }, "location":"Location1", "type":"S3" }, "RegionB":{ "encryptionKey":{ "id":"ID-B", "type":"KMS" }, "location":"Location2", "type":"S3" } }

    Contoh JSON berikut menunjukkan bucket us-west-2 sebagaimy-storage-bucketdan menambahkan bucket us-east-1 yang baru bernamamy-storage-bucket-us-east-1.

    "artifactStores": { "us-west-2": { "type": "S3", "location": "my-storage-bucket" }, "us-east-1": { "type": "S3", "location": "my-storage-bucket-us-east-1" } },
  4. Jika Anda bekerja dengan struktur pipa diambil menggunakanget-pipelineperintah, menghapusmetadatabaris dari file JSON. Jika tidak,update-pipelineperintah tidak dapat menggunakannya. Hapus"metadata": { }garis dan"created","pipelineARN", dan"updated"bidang.

    Misalnya, hapus baris berikut dari struktur:

    "metadata": { "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name", "created": "date", "updated": "date" }

    Simpan file.

  5. Untuk menerapkan perubahan Anda, jalankanupdate-pipelineperintah, menentukan pipa JSON file:

    penting

    Pastikan untuk menyertakan file:// sebelum nama file. Hal ini diperlukan dalam perintah ini.

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    Perintah ini mengembalikan seluruh struktur pipa diedit. Output Anda serupa dengan yang berikut ini.

    { "pipeline": { "version": 4, "roleArn": "ARN", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeCommit" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "configuration": { "PollForSourceChanges": "false", "BranchName": "main", "RepositoryName": "MyTestRepo" }, "runOrder": 1 } ] }, { "name": "Deploy", "actions": [ { "inputArtifacts": [ { "name": "SourceArtifact" } ], "name": "Deploy", "region": "us-east-1", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "name", "DeploymentGroupName": "name" }, "runOrder": 1 } ] } ], "name": "AnyCompanyPipeline", "artifactStores": { "us-west-2": { "type": "S3", "location": "my-storage-bucket" }, "us-east-1": { "type": "S3", "location": "my-storage-bucket-us-east-1" } } } }
    catatan

    Parameterupdate-pipelineperintah berhenti pipa. Jika revisi sedang dijalankan melalui pipa ketika Anda menjalankanupdate-pipelineperintah, yang menjalankan dihentikan. Anda harus secara manual memulai pipa untuk menjalankan revisi melalui pipa yang diperbarui. Menggunakanstart-pipeline-executionperintah untuk secara manual memulai pipa Anda.

  6. Setelah memperbarui saluran pipa, tindakan Cross-region ditampilkan di konsol.

    
                            Pandangan tingkat tinggi dari pipa yang mencakup tindakan lintas wilayah.

Tambahkan tindakan lintas wilayah ke saluran pipa (AWS CloudFormation)

Anda dapat menggunakanAWS CloudFormationuntuk menambahkan tindakan lintas wilayah ke pipa yang ada.

Untuk menambahkan tindakan lintas Wilayah denganAWS CloudFormation

  1. TambahkanRegionparameter keActionDeclarationsumber daya dalam template Anda, seperti yang ditunjukkan dalam contoh ini:

    ActionDeclaration: Type: Object Properties: ActionTypeId: Type: ActionTypeId Required: true Configuration: Type: Map InputArtifacts: Type: Array ItemType: Type: InputArtifact Name: Type: String Required: true OutputArtifacts: Type: Array ItemType: Type: OutputArtifact RoleArn: Type: String RunOrder: Type: Integer Region: Type: String
  2. Di bawahMappings, tambahkan peta wilayah seperti yang ditunjukkan dalam contoh ini untuk pemetaan bernamaSecondRegionMapyang memetakan nilai untuk kunciRegionAdanRegionB. Di bawahPipelinesumber daya, di bawahartifactStorebidang, tambahkanartifactStorespeta untuk tindakan lintas wilayah baru Anda sebagai berikut:

    Mappings: SecondRegionMap: RegionA: SecondRegion: "RegionB" RegionB: SecondRegion: "RegionA" ... Properties: ArtifactStores: - Region: RegionB ArtifactStore: Type: "S3" Location: test-cross-region-artifact-store-bucket-RegionB - Region: RegionA ArtifactStore: Type: "S3" Location: test-cross-region-artifact-store-bucket-RegionA

    Contoh YAML berikut menunjukkanRegionAbucket sebagaius-west-2dan menambahkanRegionBbucket,eu-central-1:

    Mappings: SecondRegionMap: us-west-2: SecondRegion: "eu-central-1" eu-central-1: SecondRegion: "us-west-2" ... Properties: ArtifactStores: - Region: eu-central-1 ArtifactStore: Type: "S3" Location: test-cross-region-artifact-store-bucket-eu-central-1 - Region: us-west-2 ArtifactStore: Type: "S3" Location: test-cross-region-artifact-store-bucket-us-west-2
  3. Simpan template yang diperbarui ke komputer lokal Anda, dan kemudian bukaAWS CloudFormationkonsol.

  4. Pilih tumpukan Anda, lalu pilihBuat Ubah Set untuk Stack Saat Ini.

  5. Upload template, dan kemudian melihat perubahan yang tercantum dalamAWS CloudFormation. Ini adalah perubahan yang akan dibuat untuk tumpukan. Anda akan melihat sumber daya baru Anda di daftar.

  6. Pilih Eksekusi.