Tutorial: Buat pipa sederhana (S3 bucket) - AWS CodePipeline

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

Tutorial: Buat pipa sederhana (S3 bucket)

Cara termudah untuk membuat alur adalah dengan menggunakan alurMembuat Alurwizard dalamAWS CodePipelinekonsol.

Dalam tutorial ini, Anda membuat pipa dua tahap yang menggunakan bucket S3 berversi dan CodeDeploy untuk merilis aplikasi sampel.

catatan

Ketika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda dapat zip file sumber atau file ke dalam satu .zip dan mengunggah .zip ke bucket sumber Anda. Anda juga dapat mengunggah satu file unzip; namun, tindakan hilir yang mengharapkan file.zip akan gagal.

Setelah Anda membuat pipa sederhana ini, Anda menambahkan tahap lain dan kemudian menonaktifkan dan mengaktifkan transisi antar tahap.

penting

Banyak tindakan yang Anda tambahkan ke saluran pipa Anda dalam prosedur ini melibatkanAWSsumber daya yang perlu Anda buat sebelum membuat pipa.AWSsumber daya untuk tindakan sumber Anda harus selalu dibuat dalam hal yang samaAWSWilayah di mana Anda membuat pipa Anda. Misalnya, jika Anda membuat pipeline Anda di Wilayah US East (Ohio), repositori CodeCommit Anda harus berada di Wilayah US East (Ohio).

Anda dapat menambahkan tindakan lintas wilayah saat membuat pipa Anda.AWSsumber daya untuk tindakan lintas wilayah harus berada diAWSWilayah di mana Anda berencana untuk mengeksekusi tindakan. Untuk informasi selengkapnya, lihat Tambahkan aksi lintas Wilayah di CodePipeline.

Sebelum memulai, Anda harus menyelesaikan prasyarat diMemulai dengan CodePipeline.

Langkah 1: Buat bucket S3 untuk aplikasi Anda

Anda dapat menyimpan file sumber atau aplikasi Anda di lokasi berversi. Dalam tutorial ini, Anda membuat bucket S3 untuk aplikasi sampel dan mengaktifkan versi bucket itu. Setelah mengaktifkan versi, Anda menyalin aplikasi sampel ke bucket tersebut.

Untuk membuat bucket S3

  1. Masuk ke konsol diAWS Management Console. Buka konsol S3.

  2. Pilih Create bucket (Buat bucket).

  3. MasukNama bucket, masukkan nama untuk bucket Anda (misalnya,awscodepipeline-demobucket-example-date).

    catatan

    Karena semua nama bucket di Amazon S3 harus unik, gunakan salah satu nama Anda sendiri, bukan nama yang ditampilkan dalam contoh. Anda dapat mengubah nama contoh hanya dengan menambahkan tanggal untuk itu. Catat nama ini karena Anda membutuhkannya untuk sisa tutorial ini.

    MasukWilayah, pilih Wilayah tempat Anda ingin membuat alur Anda, sepertiAS Barat (Oregon), dan kemudian pilihMembuat bucket.

  4. Setelah ember dibuat, spanduk sukses menampilkan. PilihBuka detail bucket.

  5. PadaPropertitab, pilihVersioning. PilihAktifkan versioning, dan kemudian pilihSimpan.

    Saat versi diaktifkan, Amazon S3 menyimpan setiap versi setiap objek dalam bucket.

  6. PadaIzintab, biarkan di default. Untuk informasi selengkapnya tentang bucket S3 dan izin objek, lihatMenentukan Izin dalam Kebijakan.

  7. Selanjutnya, unduh sampel dan simpan ke dalam folder atau direktori di komputer lokal Anda.

    1. Pilih salah satu dari berikut. PilihSampleApp_Windows.zipjika Anda ingin mengikuti langkah-langkah dalam tutorial ini untuk contoh Windows Server.

      • Jika Anda ingin menyebarkan ke instans Amazon Linux menggunakan CodeDeploy, unduh aplikasi contoh di sini: SampleApp_Linux.zip.

      • Jika Anda ingin menyebarkan ke instance Windows Server menggunakan CodeDeploy, download contoh aplikasi di sini: SampleApp_Windows.zip.

    2. Download file terkompresi (zip). Jangan membuka filenya.

  8. Di konsol Amazon S3, untuk bucket Anda, unggah file:

    1. Pilih Upload (Unggah).

    2. Drag dan drop file atau pilihTambahkan filedan browse untuk file.

    3. Pilih Upload (Unggah).

Langkah 2: Buat instans Windows Amazon EC2 dan instal agen CodeDeploy

catatan

Tutorial ini menyediakan langkah-langkah contoh untuk membuat instans Windows Amazon EC2. Untuk membuat instans Linux Amazon EC2, lihatLangkah 3: MembuatAmazon EC2Linux contoh dan menginstal CodeDeploy agen. Saat diminta jumlah instans yang akan dibuat, tentukan2contoh.

Pada langkah ini, Anda membuat instans Windows Server Amazon EC2 yang akan Anda gunakan aplikasi sampel. Sebagai bagian dari proses ini, Anda menginstal agen CodeDeploy pada instans. Agen CodeDeploy adalah paket perangkat lunak yang memungkinkan instans yang akan digunakan dalam deployment CodeDeploy.

Untuk membuat peran instance

  1. Buka konsol IAM dihttps://console.aws.amazon.com/iam/).

  2. Dari dasbor konsol, pilihPeran.

  3. Pilih Create role (Buat peran).

  4. Di bawahPilih jenis entitas tepercaya, pilihAWSlayanan. Di bawahPilih kasus penggunaan, pilihEC2, dan kemudian pilihSelanjutnya: Izin.

  5. Cari dan pilih kebijakan bernamaAmazonEC2RoleforAWSCodeDeploy, dan kemudian pilihSelanjutnya: Tag.

  6. Pilih Berikutnya: Peninjauan. Masukkan nama untuk peran (misalnya,EC2InstanceRole).

    catatan

    Catat nama peran Anda untuk langkah berikutnya. Anda memilih peran ini saat membuat instans Anda.

    Pilih Create role (Buat peran).

Meluncurkan instans

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Dari dasbor konsol, pilihMeluncurkan instance, dan pilihMeluncurkan instancedari pilihan yang muncul.

  3. Di Langkah 1: Pilih Amazon Machine Image (AMI)halaman, cariMicrosoft Windows Server 2019 Basepilihan, dan kemudian pilihPilih. (AMI ini diberi label “Tingkat gratis memenuhi syarat” dan dapat ditemukan di bagian atas daftar.)

  4. Di Langkah 2: Pilih Jenis Instanshalaman, pilih tingkat gratis yang memenuhi syaratt2.microketik sebagai konfigurasi perangkat keras untuk instans Anda, dan kemudian pilihSelanjutnya: Konfigurasi Rincian Instans.

  5. PadaLangkah 3: Konfigurasi Detail Instans.halaman, lakukan hal berikut:

    • MasukJumlah instansENTER2.

    • MasukTetapkan Otomatis IP Publik, pilihAktifkan.

    • MasukPeran IAM, pilih peran IAM yang Anda buat dalam prosedur sebelumnya (misalnya,EC2InstanceRole).

    • PerluasDetail Lanjutan, dan diData pengguna, denganSebagai teksdipilih, masukkan hal berikut:

      <powershell> New-Item -Path c:\temp -ItemType "directory" -Force powershell.exe -Command Read-S3Object -BucketName bucket-name/latest -Key codedeploy-agent.msi -File c:\temp\codedeploy-agent.msi Start-Process -Wait -FilePath c:\temp\codedeploy-agent.msi -WindowStyle Hidden </powershell>

      nama bucketadalah nama bucket S3 yang berisi file CodeDeploy Resource Kit untuk Wilayah Anda. Misalnya, untuk Wilayah Barat AS (Oregon), gantinama bucketbersamaaws-codedeploy-us-west-2. Untuk daftar nama bucket, lihatNama Bucket Kit Sumber Daya berdasarkan Wilayah.

      Kode ini menginstal agen CodeDeploy pada instance Anda saat dibuat. Script ini ditulis untuk contoh Windows saja.

    • Biarkan item lainnya padaLangkah 3: Konfigurasi Detail Instans.halaman tidak berubah. Pilih Berikutnya: Tambahkan Penyimpanan.

  6. MeninggalkanLangkah 4: Tambahkan Penyimpananhalaman tidak berubah, dan kemudian pilihSelanjutnya: Tambahkan Tag.

  7. PadaTambahkan tandahalaman, pilihTambahkan Tag. ENTERNamadi dalamKuncibidang, masukkanMyCodePipelineDemodi dalamNilaibidang, dan kemudian pilihSelanjutnya: Konfigurasi Grup Keamanan.

    penting

    ParameterKuncidanNilaikotak peka terhadap huruf besar/kecil.

  8. PadaKonfigurasi Kelompok Keamanan.halaman, memungkinkan port 80 komunikasi sehingga Anda dapat mengakses titik akhir contoh publik.

  9. Pilih Tinjau dan Luncurkan.

  10. Di halaman Tinjau Peluncuran Instans, pilih Peluncuran. Ketika diminta untuk key pair, pilihLanjutkan tanpa key pair.

    catatan

    Untuk tujuan tutorial ini, Anda dapat melanjutkan tanpa key pair. Untuk menggunakan SSH untuk terhubung ke instans Anda, buat atau gunakan key pair.

    Saat Anda siap, pilih kotak centang pengakuan, lalu pilihMeluncurkan instans.

  11. Pilih Lihat Instans untuk menutup halaman konfirmasi dan kembali ke konsol tersebut.

  12. Anda dapat melihat status peluncuran diInstanshalaman. Saat Anda meluncurkan instans, status awalnya adalah pending. Setelah instans dimulai, statusnya berubah menjadi running, dan ia menerima nama DNS publik. (JikaDNS publikkolom tidak ditampilkan, pilihTampilkan/Sembunyikanikon, dan kemudian pilihDNS publik.)

  13. Diperlukan waktu beberapa menit hingga instans siap Anda terhubung dengannya. Periksa apakah pesan Anda telah lulus pemeriksaan ITstatus. Anda dapat melihat informasi ini diPemeriksaan statuskolom.

Langkah 3: Buat aplikasi di CodeDeploy

Dalam CodeDeploy, sebuahpenerapanadalah pengidentifikasi, dalam bentuk nama, untuk kode yang ingin Anda gunakan. CodeDeploy menggunakan nama ini untuk memastikan kombinasi revisi yang benar, deployment konfigurasi, dan deployment grup direferensikan selama deployment. Anda memilih nama aplikasi CodeDeploy yang Anda buat dalam langkah ini ketika Anda membuat pipa Anda nanti dalam tutorial ini.

Untuk membuat aplikasi di CodeDeploy

  1. Buka konsol CodeDeploy dihttps://console.aws.amazon.com/codedeploy.

  2. JikaAplikasihalaman tidak muncul, padaAWSMenu CodeDeploy, pilihAplikasi.

  3. Pilih Create application (Buat aplikasi).

  4. MasukNama aplikasiENTERMyDemoApplication.

  5. MasukPlatform komputasi, pilihEC2/on-premise.

  6. Pilih Create application (Buat aplikasi).

Untuk membuat grup penyebaran di CodeDeploy

  1. Pada halaman yang menampilkan aplikasi Anda, pilihBuat grup deployment.

  2. MasukNama grup deploymentENTERMyDemoDeploymentGroup.

  3. MasukPeran Layanan, pilih peran layanan yang dipercayaAWSCodeDeploy dengan, minimal, kepercayaan dan izin yang dijelaskan dalamMembuat Peran Layanan untuk CodeDeploy. Untuk mendapatkan peran layanan ARN, lihatDapatkan Peran Layanan ARN (Konsol).

  4. Di bawahJenis deployment, pilihDi tempat.

  5. Di bawahKonfigurasi lingkungan, pilihInstans Amazon EC2. PilihNamadi dalamKuncilapangan, dan diNilaibidang, masukkanMyCodePipelineDemo.

    penting

    Anda harus memilih nilai yang sama untukNamakunci di sini bahwa Anda ditugaskan ke instans EC2 Anda ketika Anda membuatnya. Jika Anda menandai instans Anda dengan sesuatu selainMyCodePipelineDemo, pastikan untuk menggunakannya di sini.

  6. Di bawahSetelan deployment, pilihCodeDeployDefault.OneAtaTime.

  7. Di bawahPenyeimbang Beban, pastikanAktifkan penyeimbangan bebankotak tidak dipilih. Anda tidak perlu mengatur penyeimbang beban atau memilih grup target untuk contoh ini. Setelah Anda mencentang kotak centang, opsi penyeimbang beban tidak ditampilkan.

  8. DiLanjutanbagian, biarkan di default.

  9. PilihBuat grup deployment.

Langkah 4: Buat alur pertama Anda di CodePipeline

Di bagian tutorial ini, Anda membuat alur. Sampel berjalan secara otomatis melalui pipa.

Untuk membuat proses rilis otomatis CodePipeline

  1. Masuk keAWS Management Consoledan buka konsol CodePipeline dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. PadaSelamat datanghalaman,Memulaihalaman, atauAlurhalaman, pilihMembuat Alur.

  3. Di Langkah 1: Pilih pengaturan pipa, diNama PipelineENTERMyFirstPipeline.

    catatan

    Jika Anda memilih nama lain untuk pipa Anda, pastikan untuk menggunakan nama itu bukanMyFirstPipelineuntuk tutorial ini. Setelah membuat alur, Anda tidak dapat mengubah namanya. Nama pipa tunduk pada beberapa keterbatasan. Untuk informasi selengkapnya, lihat QuotaAWSCodePipeline.

  4. MasukPeran layanan, lakukan salah satu hal berikut:

    • PilihPeran layanan baruuntuk memungkinkan CodePipeline untuk membuat peran layanan baru di IAM.

    • PilihPeran layanan yang adauntuk menggunakan peran layanan yang sudah dibuat di IAM. MasukNama peran, pilih peran layanan Anda dari daftar.

  5. Biarkan pengaturan di bawahPengaturan lanjutandi default, dan kemudian pilihSelanjutnya.

  6. Di Langkah 2: Tambahkan tahap sumber, diPenyedia sumber, pilihAmazon S3. MasukBucket, masukkan nama bucket S3 yang Anda buatLangkah 1: Buat bucket S3 untuk aplikasi Anda. MasukKunci objek S3, masukkan kunci objek dengan atau tanpa path file, dan ingat untuk menyertakan ekstensi file. Misalnya, untukSampleApp_Windows.zip, masukkan nama file contoh seperti yang ditunjukkan dalam contoh ini:

    SampleApp_Windows.zip

    Pilih Langkah selanjutnya.

    Di bawahUbah opsi deteksi, biarkan di default. Hal ini memungkinkan CodePipeline menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan bucket sumber Anda.

    Pilih Selanjutnya.

  7. Di Langkah 3: Tambahkan tahap build, pilihLewati tahap build, dan kemudian menerima pesan peringatan dengan memilihLewatilagi. Pilih Selanjutnya.

  8. Di Langkah 4: Tambahkan tahap deploy, diPenyedia deploy, pilihCodeDeploy. ParameterWilayahdefault bidang yang samaWilayah AWSsebagai alur Anda. MasukNama aplikasiENTERMyDemoApplication, atau pilihRefreshtombol, lalu pilih nama aplikasi dari daftar. MasukGrup deploymentENTERMyDemoDeploymentGroup, atau pilih daftar, lalu pilihSelanjutnya.

    catatan

    Nama Deploy adalah nama yang diberikan secara default ke tahap yang dibuat dalamLangkah 4: Tambahkan tahap deploylangkah, sama seperti Sumber adalah nama yang diberikan pada tahap pertama dari pipa.

  9. MasukLangkah 5: Tinjau, tinjau informasinya, lalu pilihMembuat Alur.

  10. Pipa mulai berjalan. Anda dapat melihat pesan kemajuan dan keberhasilan serta kegagalan saat sampel CodePipeline menyebarkan halaman web ke masing-masing instans Amazon EC2 dalam penyebaran CodeDeploy.

Selamat! Anda baru saja membuat pipa sederhana di CodePipeline. Pipa ini memiliki dua tahap:

  • Sebuah tahap sumber bernamaSumber, yang mendeteksi perubahan dalam aplikasi sampel berversi yang disimpan di bucket S3 dan menarik perubahan tersebut ke dalam pipeline.

  • SEBUAHDeploytahap yang menyebarkan perubahan tersebut ke instans EC2 dengan CodeDeploy.

Sekarang, verifikasi hasilnya.

Untuk memverifikasi alur Anda berhasil

  1. Lihat kemajuan awal pipa. Status setiap tahap berubah dariBelum ada eksekusikepadaDalam Progres, dan kemudian keBerhasilatauGagal. Pipa harus menyelesaikan lari pertama dalam beberapa menit.

  2. SetelahBerhasilditampilkan untuk status tindakan, di area status untukDeploytahap, pilihRincian. Hal ini membuka konsol CodeDeploy.

  3. DiGrup deploymenttab, di bawahAcara siklus hidup deployment, pilih ID instance. Hal ini membuka konsol EC2.

  4. PadaDeskripsitab, diDNS publik, salin alamatnya, lalu tempelkan ke bilah alamat browser web Anda. Lihat halaman indeks untuk aplikasi sampel yang Anda unggah ke bucket S3 Anda.

    Halaman web ditampilkan untuk aplikasi sampel yang Anda unggah ke bucket S3 Anda.

Untuk informasi lebih lanjut tentang tahapan, tindakan, dan cara kerja saluran pipa, lihatKonsep CodePipeline.

(Opsional) Langkah 5: Tambahkan tahap lain ke pipa Anda

Sekarang tambahkan tahap lain dalam pipa untuk menyebarkan dari server pementasan ke server produksi menggunakan CodeDeploy. Pertama, Anda membuat grup penyebaran lain di CodePipeLinedemoApplication di CodeDeploy. Kemudian Anda menambahkan tahap yang mencakup tindakan yang menggunakan grup penyebaran ini. Untuk menambahkan tahap lain, Anda menggunakan konsol CodePipeline atauAWS CLIuntuk mengambil dan mengedit secara manual struktur pipa dalam file JSON, dan kemudian jalankanupdate-pipelineperintah untuk memperbarui alur dengan perubahan Anda.

Buat grup penyebaran kedua di CodeDeploy

catatan

Di bagian tutorial ini, Anda membuat grup penyebaran kedua, tetapi menyebarkan ke instans Amazon EC2 yang sama seperti sebelumnya. Ini hanya tujuan demonstrasi. Ini sengaja dirancang untuk gagal menunjukkan kepada Anda bagaimana kesalahan ditampilkan di CodePipeline.

Untuk membuat grup penyebaran kedua di CodeDeploy

  1. Buka konsol CodeDeploy dihttps://console.aws.amazon.com/codedeploy.

  2. PilihAplikasi, dan dalam daftar aplikasi, pilihMyDemoApplication.

  3. PilihGrup deploymenttab, dan kemudian pilihBuat grup deployment.

  4. PadaBuat grup deploymenthalaman, diNama grup deployment, masukkan nama untuk grup penyebaran kedua (misalnya,CodePipelineProductionFleet).

  5. MasukPeran Layanan, pilih peran layanan CodeDeploy yang sama yang Anda gunakan untuk penyebaran awal (bukan peran layanan CodePipeline).

  6. Di bawahJenis deployment, pilihDi tempat.

  7. Di bawahKonfigurasi lingkungan, pilihInstans Amazon EC2. PilihNamadi dalamKuncikotak, dan diNilaikotak, pilihMyCodePipelineDemodari daftar. Biarkan konfigurasi defaultSetelan deployment.

  8. Di bawahKonfigurasi deployment, pilihCodeDeployDefault.OneAtaTime.

  9. Di bawahPenyeimbang Beban, jelasAktifkan penyeimbangan beban.

  10. PilihBuat grup deployment.

Tambahkan grup penyebaran sebagai tahap lain di pipeline Anda

Sekarang setelah Anda memiliki grup penyebaran lain, Anda dapat menambahkan tahap yang menggunakan grup penyebaran ini untuk menyebarkan ke instans EC2 yang sama yang Anda gunakan sebelumnya. Anda dapat menggunakan konsol CodePipeline atau konsolAWS CLIuntuk menambahkan tahap ini.

Buat tahap ketiga (konsol)

Anda dapat menggunakan konsol CodePipeline untuk menambahkan tahap baru yang menggunakan grup penyebaran baru. Karena grup penyebaran ini disebarkan ke instans EC2 yang telah Anda gunakan, tindakan penyebaran dalam tahap ini gagal.

  1. Masuk keAWS Management Consoledan buka konsol CodePipeline dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. MasukNama, pilih nama alur yang Anda buat, MyFirstPipeline.

  3. Pada halaman rincian pipa, pilihedit.

  4. Padaedithalaman, pilih+ Tambahkan tahapuntuk menambahkan panggung segera setelah tahap Deploy.

  5. MasukTambahkan tahap, diNama tahapENTERProduction. PilihTambahkan tahap.

  6. Di tahap baru, pilih+ Tambahkan grup aksi.

  7. MasukEdit tindakan, diNama tindakanENTERDeploy-Second-Deployment. MasukPenyedia tindakan, di bawahDeploy, pilihCodeDeploy.

  8. Di bagian CodeDeploy, diNama aplikasi, pilihMyDemoApplicationdari daftar tarik-turun, seperti yang Anda lakukan saat Anda membuat alur. MasukGrup deployment, pilih grup penyebaran yang baru saja Anda buat,CodePipelineProductionFleet. Masukartefak masukan, pilih artefak masukan dari tindakan sumber. Pilih Save (Simpan).

  9. Padaedithalaman, pilihSimpan. MasukSimpan perubahan saluran, pilihSimpan.

  10. Meskipun tahap baru telah ditambahkan ke pipa Anda, statusBelum ada eksekusiditampilkan karena tidak ada perubahan yang memicu run lain dari pipa. Anda harus secara manual menjalankan ulang revisi terakhir untuk melihat bagaimana pipa yang diedit berjalan. Pada halaman rincian pipa, pilihRilis perubahan, dan kemudian pilihRilissaat diminta. Ini menjalankan revisi terbaru yang tersedia di setiap lokasi sumber yang ditentukan dalam tindakan sumber melalui pipa.

    Atau, untuk menggunakanAWS CLIuntuk menjalankan ulang saluran pipa, dari terminal di Linux, macOS, atau mesin Unix lokal, atau command prompt pada mesin Windows lokal Anda, jalankanstart-pipeline-executionperintah, menentukan nama alur. Ini menjalankan aplikasi dalam ember sumber Anda melalui pipa untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikanpipelineExecutionIdobjek.

  11. Kembali ke konsol CodePipeline dan daftar alur, pilihMyFirstPipelineuntuk membuka halaman tampilan.

    Pipa menunjukkan tiga tahap dan keadaan artefak berjalan melalui tiga tahap. Diperlukan waktu hingga lima menit hingga alur berjalan melalui semua tahapan. Anda melihat penyebaran berhasil pada dua tahap pertama, seperti sebelumnya, tapiProduksitahap menunjukkanDeployment Deploymenttindakan gagal.

  12. DiDeployment Deploymenttindakan, pilihRincian. Anda akan dialihkan ke halaman untuk penyebaran CodeDeploy. Dalam hal ini, kegagalan adalah hasil dari grup instans pertama yang menyebarkan ke semua instans EC2, tanpa meninggalkan instans untuk grup penyebaran kedua.

    catatan

    Kegagalan ini adalah dengan desain, untuk menunjukkan apa yang terjadi ketika ada kegagalan dalam tahap pipa.

Buat tahap ketiga (CLI)

Meskipun menggunakanAWS CLIuntuk menambahkan tahap ke pipa Anda lebih kompleks daripada menggunakan konsol, memberikan lebih banyak visibilitas ke dalam struktur pipa.

Untuk membuat tahap ketiga untuk pipa Anda

  1. Buka sesi terminal di Linux, macOS, atau mesin Unix lokal Anda, atau command prompt pada mesin Windows lokal Anda, dan jalankanget-pipelineperintah untuk menampilkan struktur pipa yang baru saja Anda buat. UntukMyFirstPipeline, Anda akan mengetik perintah berikut:

    aws codepipeline get-pipeline --name "MyFirstPipeline"

    Perintah ini mengembalikan struktur MyFirstPipeline. Bagian pertama dari output akan terlihat serupa dengan yang berikut ini:

    { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE:role/AWS-CodePipeline-Service", "stages": [ ...

    Bagian akhir dari output termasuk metadata pipa dan akan terlihat seperti berikut:

    ... ], "artifactStore": { "type": "S3" "location": "codepipeline-us-east-2-250656481468", }, "name": "MyFirstPipeline", "version": 4 }, "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 } }
  2. Copy dan paste struktur ini ke editor teks biasa, dan simpan file sebagaipipeline.json. Untuk kenyamanan, simpan file ini di direktori yang sama tempat Anda menjalankan fileaws codepipelineperintah.

    catatan

    Anda dapat pipa JSON langsung ke file denganget-pipelineperintah sebagai berikut:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
  3. SalinDeploybagian panggung dan tempelkan setelah dua tahapan pertama. Karena itu adalah tahap penyebaran, sepertiDeploytahap, Anda menggunakannya sebagai template untuk tahap ketiga.

  4. Ubah nama panggung dan detail grup penyebaran.

    Contoh berikut menunjukkan JSON yang Anda tambahkan ke file pipeline.json setelahDeploytahap. Edit elemen yang ditekankan dengan nilai baru. Ingatlah untuk memasukkan koma untuk memisahkanDeploydanProduksidefinisi tahap.

    , { "name": "Production", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-Second-Deployment", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineProductionFleet" }, "runOrder": 1 } ] }
  5. Jika Anda bekerja dengan struktur pipa diambil menggunakanget-pipelineperintah, Anda harus 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.

  6. Jalankanupdate-pipelineperintah, menentukan file JSON alur, mirip dengan yang berikut ini:

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

    Perintah ini mengembalikan seluruh struktur pipa diperbarui.

    penting

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

  7. Jalankanstart-pipeline-executionperintah, menentukan nama alur. Ini menjalankan aplikasi dalam ember sumber Anda melalui pipa untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikanpipelineExecutionIdobjek.

  8. Buka konsol CodePipeline dan pilihMyFirstPipelinedari daftar jaringan pipa.

    Pipa menunjukkan tiga tahap dan keadaan artefak berjalan melalui tiga tahap. Diperlukan waktu hingga lima menit hingga alur berjalan melalui semua tahapan. Meskipun penyebaran berhasil pada dua tahap pertama, seperti sebelumnya,Produksimenunjukkan bahwaDeployment Deploymenttindakan gagal.

  9. DiDeployment Deploymenttindakan, pilihRincianuntuk melihat rincian kegagalan. Anda akan dialihkan ke halaman detail untuk penyebaran CodeDeploy. Dalam hal ini, kegagalan adalah hasil dari grup instans pertama yang menyebarkan ke semua instans EC2, tanpa meninggalkan instans untuk grup penyebaran kedua.

    catatan

    Kegagalan ini adalah dengan desain, untuk menunjukkan apa yang terjadi ketika ada kegagalan dalam tahap pipa.

(Opsional) Langkah 6: Nonaktifkan dan aktifkan transisi antar tahapan di CodePipeline

Anda dapat mengaktifkan atau menonaktifkan transisi antar tahapan dalam alur. Menonaktifkan transisi antara tahap memungkinkan Anda mengontrol transisi secara manual antara satu tahap dan tahap lainnya. Misalnya, Anda mungkin ingin menjalankan dua tahap pertama dari pipa, tetapi menonaktifkan transisi ke tahap ketiga sampai Anda siap untuk menyebarkan ke produksi, atau saat Anda memecahkan masalah atau kegagalan dengan tahap tersebut.

Untuk menonaktifkan dan mengaktifkan transisi antar tahapan dalam pipa CodePipeline

  1. Buka konsol CodePipeline dan pilihMyFirstPipelinedari daftar jaringan pipa.

  2. Pada halaman detail untuk alur, pilihMenonaktifkan transisitombol antara tahap kedua (Deploy) dan tahap ketiga yang Anda tambahkan di bagian sebelumnya (Produksi).

  3. MasukMenonaktifkan transisi, masukkan alasan untuk menonaktifkan transisi antara tahap, dan kemudian pilihNonaktifkan.

    Panah antara tahap menampilkan ikon dan perubahan warna, danAktifkan transisitombol.

  4. Unggah sampel Anda ke bucket S3. Karena ember berversi, perubahan ini memulai pipa. Untuk informasi, lihat Upload the sample application.

  5. Kembali ke halaman rincian untuk pipa Anda dan perhatikan status tahapan. Tampilan pipa berubah untuk menunjukkan kemajuan dan kesuksesan pada dua tahap pertama, namun tidak ada perubahan yang terjadi pada tahap ketiga. Proses ini mungkin memerlukan waktu beberapa menit.

  6. Aktifkan transisi dengan memilihAktifkan transisitombol antara dua tahap. DiAktifkan transisikotak dialog, pilihAktifkan. Panggung mulai berjalan dalam beberapa menit dan mencoba untuk memproses artefak yang telah dijalankan melalui dua tahap pertama dari pipa.

    catatan

    Jika Anda ingin tahap ketiga ini berhasil, edit grup penyebaran CodePipelineProductionFleet sebelum Anda mengaktifkan transisi, dan tentukan serangkaian instans EC2 yang berbeda di mana aplikasi dikerahkan. Untuk informasi selengkapnya tentang cara melakukan ini, lihatMengubah setelan grup deployment. Jika Anda membuat lebih banyak instans EC2, Anda mungkin akan dikenakan biaya tambahan.

Langkah 7: Pembersihan sumber daya

Anda dapat menggunakan beberapa sumber daya yang Anda buat dalam tutorial ini untukTutorial: Buat pipa empat tahap. Misalnya, Anda dapat menggunakan kembali aplikasi CodeDeploy dan penyebaran. Anda dapat mengonfigurasi aksi build dengan provider seperti CodeBuild, yang merupakan layanan build yang dikelola penuh di cloud. Anda juga dapat mengonfigurasi aksi build yang menggunakan penyedia dengan server build atau sistem, seperti Jenkins.

Namun, setelah Anda menyelesaikan ini dan tutorial lainnya, Anda harus menghapus pipa dan sumber daya yang digunakannya, sehingga Anda tidak dikenakan biaya untuk terus menggunakan sumber daya tersebut. Pertama, hapus pipeline, lalu aplikasi CodeDeploy dan instans Amazon EC2 yang terkait, dan akhirnya, bucket S3.

Membersihkan sumber daya yang digunakan dalam tutorial ini

  1. Untuk membersihkan sumber daya CodePipeline Anda, ikuti petunjuk diHapus alur diAWS CodePipeline.

  2. Untuk membersihkan sumber daya CodeDeploy Anda, ikuti petunjuk diUntuk membersihkan sumber daya (konsol).

  3. Untuk menghapus bucket S3, ikuti petunjuk diMenghapus atau mengosongkan bucket. Jika Anda tidak berniat membuat lebih banyak saluran pipa, hapus bucket S3 yang dibuat untuk menyimpan artefak pipa Anda. Untuk informasi selengkapnya tentang bucket ini, lihatKonsep CodePipeline.