Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Membuat pipeline yang menggunakan variabel dari AWS CloudFormation tindakan penyebaran
Dalam tutorial ini, Anda menggunakan AWS CodePipeline konsol untuk membuat pipeline dengan tindakan penerapan. Ketika pipeline berjalan, template membuat tumpukan dan juga membuat outputs file. Output yang dihasilkan oleh template tumpukan adalah variabel yang dihasilkan oleh AWS CloudFormation tindakan di CodePipeline.
Dalam tindakan di mana Anda membuat tumpukan dari template, Anda menetapkan namespace variabel. Variabel yang dihasilkan oleh outputs file kemudian dapat dikonsumsi oleh tindakan selanjutnya. Dalam contoh ini, Anda membuat set perubahan berdasarkan StackName variabel yang dihasilkan oleh AWS CloudFormation tindakan. Setelah persetujuan manual, Anda menjalankan set perubahan dan kemudian membuat tindakan hapus tumpukan yang menghapus tumpukan berdasarkan StackName variabel.
penting
Sebagai bagian dari pembuatan pipeline, bucket artefak S3 yang disediakan oleh pelanggan akan digunakan oleh CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS itu aman dan dapat diandalkan.
Topik
Prasyarat: Buat AWS CloudFormation peran layanan dan CodeCommit repositori
Langkah 1: Unduh, edit, dan unggah sampel AWS CloudFormation templat
Langkah 3: Tambahkan CloudFormation tindakan penerapan untuk membuat set perubahan
Langkah 5: Tambahkan tindakan CloudFormation penerapan untuk menjalankan set perubahan
Langkah 6: Tambahkan tindakan CloudFormation penerapan untuk menghapus tumpukan
Prasyarat: Buat AWS CloudFormation peran layanan dan CodeCommit repositori
Anda harus sudah memiliki yang berikut:
-
Sebuah CodeCommit repositori. Anda dapat menggunakan AWS CodeCommit repositori yang Anda buatTutorial: Buat pipeline sederhana (CodeCommit repositori).
-
Contoh ini membuat tumpukan Amazon DocumentDB dari template. Anda harus menggunakan AWS Identity and Access Management (IAM) untuk membuat peran AWS CloudFormation layanan dengan izin berikut untuk Amazon DocumentDB.
"rds:DescribeDBClusters", "rds:CreateDBCluster", "rds:DeleteDBCluster", "rds:CreateDBInstance"
Langkah 1: Unduh, edit, dan unggah sampel AWS CloudFormation templat
Unduh file AWS CloudFormation template sampel dan unggah ke CodeCommit repositori Anda.
-
Arahkan ke template sampel untuk Wilayah Anda. Misalnya, gunakan tabel di https://docs.aws.amazon.com/documentdb/latest/developerguide/quick_start_cfn.html#quick_start_cfn-launch_stack untuk memilih Wilayah dan mengunduh template. Unduh template untuk Amazon DocumentDB Cluster. Nama file adalah
documentdb_full_stack.yaml. -
Buka zip
documentdb_full_stack.yamlfile, dan buka di editor teks. Buat perubahan berikut.-
Untuk contoh ini, tambahkan
Purpose:parameter berikut keParametersbagian Anda di template.Purpose: Type: String Default: testing AllowedValues: - testing - production Description: The purpose of this instance. -
Untuk contoh ini, tambahkan
StackNameoutput berikut keOutputs:bagian Anda di template.StackName: Value: !Ref AWS::StackName
-
-
Unggah file template ke AWS CodeCommit repositori Anda. Anda harus mengunggah file template yang tidak di-zip dan diedit ke direktori root repositori Anda.
Untuk menggunakan CodeCommit konsol untuk mengunggah file Anda:
-
Buka CodeCommit konsol, dan pilih repositori Anda dari daftar Repositories.
-
Pilih Tambah file, lalu pilih Unggah file.
-
Pilih Pilih file, lalu telusuri file Anda. Lakukan perubahan dengan memasukkan nama pengguna dan alamat email Anda. Pilih Perubahan commit.
File Anda akan terlihat seperti ini di tingkat root di repositori Anda:
documentdb_full_stack.yaml -
Langkah 2: Buat alur Anda
Dalam bagian ini, Anda membuat alur dengan tindakan berikut:
-
Tahap sumber dengan CodeCommit tindakan di mana artefak sumber adalah file template Anda.
-
Tahap penerapan dengan tindakan CloudFormation penerapan.
Setiap tindakan dalam tahap sumber dan penerapan yang dibuat oleh wizard diberi namespace variabel, SourceVariables danDeployVariables, masing-masing. Karena tindakan memiliki namespace yang ditetapkan, variabel yang dikonfigurasi dalam contoh ini tersedia untuk tindakan hilir. Untuk informasi selengkapnya, lihat Referensi variabel.
Untuk membuat alur dengan wizard
Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Pada halaman Selamat Datang, halaman Mem ulai, atau halaman Pipelines, pilih Buat pipeline.
-
Pada Langkah 1: Pilih halaman opsi pembuatan, di bawah Opsi pembuatan, pilih opsi Build custom pipeline. Pilih Berikutnya.
-
Di Langkah 2: Pilih pengaturan pipa, di Nama Pipeline, masukkan
MyCFNDeployPipeline. -
CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat Jenis jalur. Untuk informasi tentang penetapan harga untuk CodePipeline, lihat Harga
. -
Di Peran Layanan, lakukan salah satu hal berikut:
-
Pilih Peran layanan baru untuk memungkinkan CodePipeline untuk membuat peran layanan di IAM.
-
Pilih Per an layanan yang ada. Di Nama peran, pilih peran layanan Anda dari daftar.
-
-
Di toko Artefak:
-
Pilih Lokasi default untuk menggunakan penyimpanan artefak default, seperti bucket artefak Amazon S3 yang ditetapkan sebagai default, untuk pipeline Anda di Wilayah yang Anda pilih untuk pipeline Anda.
-
Pilih Lokasi khusus jika Anda sudah memiliki toko artefak, seperti bucket artefak Amazon S3, di Wilayah yang sama dengan pipeline Anda.
catatan
Ini bukan bucket sumber untuk kode sumber Anda. Ini adalah penyimpanan artifact untuk alur Anda. Penyimpanan artifact terpisah, seperti bucket S3, diperlukan untuk setiap alur. Saat Anda membuat atau mengedit pipeline, Anda harus memiliki bucket artefak di Wilayah pipa dan satu bucket artefak per Wil AWS ayah tempat Anda menjalankan tindakan.
Untuk informasi selengkapnya, lihat Artefak input dan output dan CodePipeline referensi struktur pipa.
Pilih Berikutnya.
-
-
Pada Langkah 3: Tambahkan tahap sumber:
-
Di Penyedia Sumber, pilih AWS CodeCommit.
-
Di Nama Repositori, pilih nama CodeCommit repositori yang Anda buatLangkah 1: Buat CodeCommit repositori.
-
Di Nama cabang, pilih nama cabang yang berisi pembaruan kode terbaru Anda.
Setelah Anda memilih nama repositori dan cabang, aturan Amazon CloudWatch Events yang akan dibuat untuk pipeline ini akan ditampilkan.
Pilih Berikutnya.
-
-
Pada Langkah 4: Tambahkan tahap build, pilih Lewati tahap build, lalu terima pesan peringatan dengan memilih Le wati lagi.
Pilih Berikutnya.
-
Pada Langkah 5: Tambahkan tahap pengujian, pilih Lewati tahap pengujian, lalu terima pesan peringatan dengan memilih Le wati lagi.
Pilih Berikutnya.
-
Pada Langkah 6: Tambahkan tahap penerapan:
-
Di Nama tindakan, pilih Deplo y. Di Penye dia Deplo y, pilih CloudFormation.
-
Dalam mode Aksi, pilih Buat atau perbarui tumpukan.
-
Di nama Stack, masukkan nama untuk tumpukan. Ini adalah nama tumpukan yang akan dibuat template.
-
Di nama file keluaran, masukkan nama untuk file output, seperti
outputs. Ini adalah nama file yang akan dibuat oleh tindakan setelah tumpukan dibuat. -
Perluas Tingkat Lanjut. Di bawah Penggantian parameter, masukkan penggantian template Anda sebagai pasangan kunci-nilai. Misalnya, template ini memerlukan penggantian berikut.
{ "DBClusterName": "MyDBCluster", "DBInstanceName": "MyDBInstance", "MasterUser": "UserName", "MasterPassword": "Password", "DBInstanceClass": "db.r4.large", "Purpose": "testing"}Jika Anda tidak memasukkan penggantian, template akan membuat tumpukan dengan nilai default.
-
Pilih Berikutnya.
-
Pada Langkah 7: Tinjau, pilih Buat pipeline. Anda harus melihat diagram yang menunjukkan tahapan pipa. Biarkan pipeline Anda berjalan. Pipa dua tahap Anda selesai dan siap untuk tahap tambahan yang akan ditambahkan.
-
Langkah 3: Tambahkan CloudFormation tindakan penerapan untuk membuat set perubahan
Buat tindakan berikutnya dalam pipeline Anda yang akan memungkinkan CloudFormation untuk membuat set perubahan sebelum tindakan persetujuan manual.
-
Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/
. Di bawah Pipelines, pilih pipeline Anda dan pilih View. Diagram menunjukkan sumber pipeline dan tahapan penerapan Anda.
-
Pilih untuk mengedit pipeline, atau terus menampilkan pipeline dalam mode Edit.
-
Pilih untuk mengedit tahap Deploy.
-
Tambahkan tindakan penerapan yang akan membuat set perubahan untuk tumpukan yang dibuat dalam tindakan sebelumnya. Anda menambahkan tindakan ini setelah tindakan yang ada di panggung.
-
Di Nama tindakan, masukkan Change_Set. Di penyedia Action, pilih AWS CloudFormation .
-
Di Input artefak, pilih SourceArtifact.
-
Dalam mode T ind akan, pilih Buat atau ganti kumpulan perubahan.
-
Di nama Stack, masukkan sintaks variabel seperti yang ditunjukkan. Ini adalah nama tumpukan tempat kumpulan perubahan dibuat, di mana namespace default
DeployVariablesditetapkan untuk tindakan.#{DeployVariables.StackName} -
Di Ubah nama set, masukkan nama set perubahan.
my-changeset -
Di Parameter Overrides, ubah
Purposeparameter daritestingkeproduction.{ "DBClusterName": "MyDBCluster", "DBInstanceName": "MyDBInstance", "MasterUser": "UserName", "MasterPassword": "Password", "DBInstanceClass": "db.r4.large", "Purpose": "production"} -
Pilih Selesai untuk menyimpan tindakan.
-
Langkah 4: Tambahkan tindakan persetujuan manual
Buat tindakan persetujuan manual di pipeline Anda.
-
Pilih untuk mengedit pipeline, atau terus menampilkan pipeline dalam mode Edit.
-
Pilih untuk mengedit tahap Deploy.
-
Tambahkan tindakan persetujuan manual setelah tindakan penerapan yang membuat kumpulan perubahan. Tindakan ini memungkinkan Anda memverifikasi perubahan sumber daya yang dibuat yang CloudFormation ditetapkan sebelum pipeline mengeksekusi set perubahan.
Langkah 5: Tambahkan tindakan CloudFormation penerapan untuk menjalankan set perubahan
Buat tindakan berikutnya di pipeline Anda yang memungkinkan CloudFormation untuk menjalankan set perubahan setelah tindakan persetujuan manual.
-
Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/
. Di bawah Pipelines, pilih pipeline Anda dan pilih View. Diagram menunjukkan sumber pipeline dan tahapan penerapan Anda.
-
Pilih untuk mengedit pipeline, atau terus menampilkan pipeline dalam mode Edit.
-
Pilih untuk mengedit tahap Deploy.
-
Tambahkan tindakan penerapan yang akan mengeksekusi set perubahan yang disetujui dalam tindakan manual sebelumnya:
-
Di Nama tindakan, masukkan Execute_Change_Set. Dalam Penyedia tindakan, pilih AWS CloudFormation.
-
Di Input artefak, pilih SourceArtifact.
-
Dalam mode Tind akan, pilih Jalankan set perubahan.
-
Di nama Stack, masukkan sintaks variabel seperti yang ditunjukkan. Ini adalah nama tumpukan tempat set perubahan dibuat.
#{DeployVariables.StackName} -
Di Ubah nama set, masukkan nama set perubahan yang Anda buat dalam tindakan sebelumnya.
my-changeset -
Pilih Selesai untuk menyimpan tindakan.
-
Lanjutkan menjalankan pipa.
-
Langkah 6: Tambahkan tindakan CloudFormation penerapan untuk menghapus tumpukan
Buat tindakan akhir di pipeline Anda yang memungkinkan CloudFormation untuk mendapatkan nama tumpukan dari variabel dalam file output dan menghapus tumpukan.
-
Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/
. Di bawah Pipelines, pilih pipeline Anda dan pilih View. Diagram menunjukkan sumber pipeline dan tahapan penerapan Anda.
-
Pilih untuk mengedit pipeline.
-
Pilih untuk mengedit tahap Deploy.
-
Tambahkan tindakan penerapan yang akan menghapus tumpukan:
-
Di Nama tindakan, pilih DeleteStack. Di Penye dia Deplo y, pilih CloudFormation.
-
Dalam mode Aksi, pilih H apus tumpukan.
-
Di nama Stack, masukkan sintaks variabel seperti yang ditunjukkan. Ini adalah nama tumpukan yang akan dihapus tindakan.
-
Pilih Selesai untuk menyimpan tindakan.
-
Pilih Simpan untuk menyimpan pipeline.
Pipa berjalan ketika disimpan.
-