View a markdown version of this page

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

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

Tutorial: Buat pipeline sederhana (bucket S3)

Cara termudah untuk membuat pipeline adalah dengan menggunakan wizard Create pipeline di AWS CodePipeline konsol.

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

catatan

Jika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda dapat membuat 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.

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.

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

penting

Banyak tindakan yang Anda tambahkan ke pipeline dalam prosedur ini melibatkan AWS sumber daya yang perlu Anda buat sebelum membuat pipeline. AWS sumber daya untuk tindakan sumber Anda harus selalu dibuat di Wil AWS ayah yang sama tempat Anda membuat pipeline. Misalnya, jika Anda membuat pipeline di Wilayah AS Timur (Ohio), CodeCommit repositori Anda harus berada di Wilayah AS Timur (Ohio).

Anda dapat menambahkan tindakan lintas wilayah saat membuat pipeline. AWS sumber daya untuk tindakan lintas wilayah harus berada di Wil AWS ayah yang sama tempat Anda berencana untuk menjalankan tindakan. Untuk informasi selengkapnya, lihat Menambahkan tindakan lintas wilayah di CodePipeline.

Sebelum Anda mulai, Anda harus menyelesaikan prasyarat diMemulai dengan CodePipeline.

Langkah 1: Buat bucket sumber S3 untuk aplikasi Anda

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

Untuk membuat bucket S3
  1. Masuk ke konsol di Konsol Manajemen AWS. Buka konsol S3.

  2. Pilih Buat bucket.

  3. Di nama 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 milik Anda sendiri, bukan nama yang ditunjukkan dalam contoh. Anda dapat mengubah nama contoh hanya dengan menambahkan tanggal ke dalamnya. Catat nama ini karena Anda membutuhkannya untuk sisa tutorial ini.

    Di Wilayah, pilih Wilayah tempat Anda ingin membuat pipeline, seperti AS Barat (Oregon), lalu pilih Buat bucket.

  4. Setelah bucket dibuat, banner sukses ditampilkan. Pilih Pergi ke detail bucket.

  5. Pada tab Properties, pilih Versioning. Pilih Aktifkan pembuatan versi, lalu pilih S impan.

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

  6. Pada tab Izin, tinggalkan default. Untuk informasi selengkapnya tentang izin bucket dan objek S3, lihat Menentukan Izin dalam Kebijakan.

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

    1. Pilih salah satu dari berikut ini. Pilih SampleApp_Windows.zip jika Anda ingin mengikuti langkah-langkah dalam tutorial ini untuk instance Windows Server.

      • Jika Anda ingin menerapkan ke instans Amazon Linux menggunakan CodeDeploy, unduh contoh aplikasi di sini: SampleApp _ Linux.zip.

      • Jika Anda ingin menerapkan ke instans Windows Server menggunakan CodeDeploy, unduh aplikasi sampel di sini: SampleApp _ Windows.zip.

      Contoh aplikasi berisi file berikut untuk digunakan dengan: CodeDeploy

      • appspec.yml- File spesifikasi aplikasi (AppSpecfile) adalah file berformat YAML yang digunakan oleh CodeDeploy untuk mengelola penerapan. Untuk informasi selengkapnya tentang AppSpec file, lihat Referensi CodeDeploy AppSpec file di Panduan AWS CodeDeploy Pengguna.

      • index.html- File indeks berisi halaman beranda untuk aplikasi sampel yang digunakan.

      • LICENSE.txt- File lisensi berisi informasi lisensi untuk aplikasi sampel.

      • File untuk skrip — Aplikasi sampel menggunakan skrip untuk menulis file teks ke lokasi pada instance Anda. Satu file ditulis untuk masing-masing dari beberapa peristiwa siklus hidup CodeDeploy penerapan sebagai berikut:

        • F scripts older (Hanya sampel Linux) - Folder berisi skrip shell berikut untuk menginstal dependensi dan memulai dan menghentikan aplikasi sampel untuk penerapan otomatis:install_dependencies,start_server, danstop_server.

        • (Hanya contoh Windows) before-install.bat - Ini adalah skrip batch untuk peristiwa siklus hidup BeforeInstall penerapan, yang akan dijalankan untuk menghapus file lama yang ditulis selama penerapan sebelumnya dari sampel ini dan membuat lokasi pada instance Anda untuk menulis file baru.

    2. Unduh file terkompresi (zip). Jangan unzip file.

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

    1. Pilih Unggah.

    2. Seret dan lepas file atau pilih Tambahkan file dan telusuri file tersebut.

    3. Pilih Unggah.

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

catatan

Tutorial ini memberikan contoh langkah-langkah untuk membuat instans Windows Amazon EC2. Untuk contoh langkah membuat instans Amazon EC2 Linux, lihatLangkah 3: Buat instans Amazon EC2 Linux dan instal agen CodeDeploy. Saat diminta untuk jumlah instance yang akan dibuat, tentukan 2 instance.

Pada langkah ini, Anda membuat instans Windows Server Amazon EC2 tempat Anda akan menerapkan aplikasi sampel. Sebagai bagian dari proses ini, Anda membuat peran instance dengan kebijakan yang memungkinkan penginstalan dan pengelolaan CodeDeploy agen pada instans. CodeDeploy Agen adalah paket perangkat lunak yang memungkinkan instance untuk digunakan dalam pener CodeDeploy apan. Anda juga melampirkan kebijakan yang memungkinkan instance mengambil file yang digunakan CodeDeploy agen untuk menerapkan aplikasi Anda dan mengizinkan instance dikelola oleh SSM.

Untuk membuat peran instance
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Dari dasbor konsol, pilih Per an.

  3. Pilih Buat peran.

  4. Di bawah Pilih jenis entitas tepercaya, pilih Layanan AWS. Di bawah Pilih kasus penggunaan, pilih EC2, lalu pilih Ber ikutnya: Iz in.

  5. Cari dan pilih kebijakan bernama AmazonEC2RoleforAWSCodeDeploy.

  6. Cari dan pilih kebijakan bernama AmazonSSMManagedInstanceCore. Pilih Berikutnya: Tanda.

  7. Pilih Berikutnya: Tinjau. Masukkan nama untuk peran (misalnya,EC2InstanceRole).

    catatan

    Catat nama peran Anda untuk langkah selanjutnya. Anda memilih peran ini saat Anda membuat instance Anda.

    Pilih Buat peran.

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

  2. Dari navigasi samping, pilih Inst ans, dan pilih Luncur kan instance dari bagian atas halaman.

  3. Di bawah Nama dan tag, di Nama, masukkanMyCodePipelineDemo. Ini menetapkan instance tag Key Name dan tag Value of. MyCodePipelineDemo Kemudian, Anda membuat CodeDeploy aplikasi yang menerapkan aplikasi sampel ke instance. CodeDeploymemilih instance untuk digunakan berdasarkan tag.

  4. Di bawah Aplikasi dan Gambar OS (Gambar Mesin Amazon), pilih opsi Windows. (AMI ini digambarkan sebagai Bas is Microsoft Windows Server 2019 dan diberi label “Tingkat gratis memenuhi syarat” dan dapat ditemukan di bawah Mulai C epat.)

  5. Di bawah Jenis instans, pilih t2.micro jenis yang memenuhi syarat tingkat gratis sebagai konfigurasi perangkat keras untuk instans Anda.

  6. Di bawah Pasangan kunci (login), pilih pasangan kunci atau buat satu.

    Anda juga dapat memilih Lanjutkan tanpa pasangan kunci.

    catatan

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

  7. Di bawah Pengaturan jaringan, lakukan hal berikut.

    Di IP Pu Auto-assign blik, pastikan statusnya adalah Aktifkan.

    • Di samping Tetapkan grup keamanan, pilih Buat grup keamanan baru.

    • Di baris untuk SSH, di bawah Jenis Sumber, pilih IP Saya.

    • Pilih Tambah grup keamanan, pilih HTTP, dan kemudian di bawah Jenis sumber, pilih IP Saya.

  8. Perluas detail lanjutan. Di profil instance IAM, pilih peran IAM yang Anda buat dalam prosedur sebelumnya (misalnya,EC2InstanceRole).

  9. Di bawah Ringkasan, di bawah Jumlah instance, masukkan2.

  10. Pilih Luncurkan instans.

  11. Pilih Lihat semua instans untuk menutup halaman konfirmasi dan kembali ke konsol.

  12. Anda dapat melihat status peluncuran di halaman Instans. Saat Anda meluncurkan instans, status awalnya adalah pending. Setelah instans dimulai, statusnya berubah menjadi running, dan ia menerima nama DNS publik. (Jika kolom DNS Publik tidak ditampilkan, pilih Show/Hide ikon, lalu pilih DNS Publik.)

  13. Diperlukan waktu beberapa menit sampai instans siap untuk terhubung dengan DNS tersebut. Periksa apakah pesan Anda telah lulus pemeriksaan statusnya. Anda dapat melihat informasi ini di kolom Pemer iksaan Status.

Langkah 3: Buat aplikasi di CodeDeploy

Dalam CodeDeploy, aplikasi adalah pengidentifikasi, dalam bentuk nama, untuk kode yang ingin Anda terapkan. CodeDeploy menggunakan nama ini untuk memastikan kombinasi revisi, konfigurasi penerapan, dan grup penerapan yang benar direferensikan selama penerapan. Anda memilih nama CodeDeploy aplikasi yang Anda buat pada langkah ini ketika Anda membuat pipeline nanti dalam tutorial ini.

Pertama-tama Anda membuat peran layanan CodeDeploy untuk digunakan. Jika Anda telah membuat peran layanan, Anda tidak perlu membuat yang lain.

Untuk membuat peran CodeDeploy layanan
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Dari dasbor konsol, pilih Per an.

  3. Pilih Buat peran.

  4. Di bawah Pilih entitas tepercaya, pilih Layanan AWS. Di bawah Kasus penggunaan, pilih CodeDeploy. Pilih CodeDeploy dari opsi yang tercantum. Pilih Berikutnya. Kebijakan yang AWSCodeDeployRole dikelola sudah melekat pada peran.

  5. Pilih Berikutnya.

  6. Masukkan nama untuk peran (misalnya,CodeDeployRole), lalu pilih Buat peran.

Untuk membuat aplikasi di CodeDeploy
  1. Buka CodeDeploy konsol di https://console.aws.amazon.com/codedeploy.

  2. Jika halaman Aplikasi tidak muncul, pada AWS CodeDeploy menu, pilih Aplikasi.

  3. Pilih Create application (Buat aplikasi).

  4. Di Nama aplikasi, masukkanMyDemoApplication.

  5. Di Compute Platform, pilih EC2/On-premises.

  6. Pilih Create application (Buat aplikasi).

Untuk membuat grup penerapan di CodeDeploy
  1. Pada halaman yang menampilkan aplikasi Anda, pilih Buat grup penerapan.

  2. Di Nama grup Deployment, masukkanMyDemoDeploymentGroup.

  3. Di Peran layanan, pilih peran layanan yang Anda buat sebelumnya. Anda harus menggunakan peran layanan yang mempercay AWS CodeDeploy ai, minimal, kepercayaan dan izin yang dijelaskan dalam Membuat Peran Layanan untuk CodeDeploy. Untuk mendapatkan peran layanan ARN, lihat Dapatkan Peran Layanan ARN (Konsol).

  4. Di bawah Jenis pener apan, pilih In-place.

  5. Di bawah Konfigurasi lingkungan, pilih Inst ans Amazon EC2. Pilih Nama di bidang Kunci, dan di bidang Nilai, masukkanMyCodePipelineDemo.

    penting

    Anda harus memilih nilai yang sama untuk kunci Nama di sini yang Anda tetapkan ke instans EC2 saat Anda membuatnya. Jika Anda menandai instance Anda dengan sesuatu selainMyCodePipelineDemo, pastikan untuk menggunakannya di sini.

  6. Di bawah Konfigurasi agen dengan Manajer AWS Sistem, pilih Sekarang dan jadwalkan pembaruan. Ini menginstal agen pada instance. Instans Windows sudah dikonfigurasi dengan agen SSM dan sekarang akan diperbarui dengan CodeDeploy agen.

  7. Di bawah Pengaturan pener apan, pilihCodeDeployDefault.OneAtaTime.

  8. Di bawah Load Balancer, pastikan kotak Aktifkan penyeimbangan beban tidak dipilih. Anda tidak perlu mengatur penyeimbang beban atau memilih grup target untuk contoh ini. Setelah Anda menghapus centang pada kotak centang, opsi penyeimbang beban tidak ditampilkan.

  9. Di bagian Lanjutan, tinggalkan default.

  10. Pilih Buat grup penerapan.

Langkah 4: Buat pipeline pertama Anda di CodePipeline

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

Untuk membuat proses rilis CodePipeline otomatis
  1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Pada halaman Selamat Datang, halaman Mem ulai, atau halaman Pipelines, pilih Buat pipeline.

  3. Pada Langkah 1: Pilih halaman opsi pembuatan, di bawah Opsi pembuatan, pilih opsi Build custom pipeline. Pilih Berikutnya.

  4. Di Langkah 2: Pilih pengaturan pipa, di Nama Pipeline, masukkanMyFirstPipeline.

    catatan

    Jika Anda memilih nama lain untuk pipeline Anda, pastikan untuk menggunakan nama itu alih MyFirstPipeline -alih untuk sisa tutorial ini. Setelah Anda membuat pipeline, Anda tidak dapat mengubah namanya. Nama pipeline tunduk pada beberapa batasan. Untuk informasi selengkapnya, lihat Kuota di AWS CodePipeline.

  5. 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.

  6. Di Peran Layanan, lakukan salah satu hal berikut:

    • Pilih Peran layanan baru CodePipeline untuk mengizinkan membuat peran layanan baru di IAM.

    • Pilih Peran layanan yang ada untuk menggunakan peran layanan yang sudah dibuat di IAM. Di Nama peran, pilih peran layanan Anda dari daftar.

  7. Biarkan pengaturan di bawah Peng aturan lanj utan pada defaultnya, lalu pilih Ber ikutnya.

  8. Pada Langkah 3: Tambahkan tahap sumber, di Penye dia Sumber, pilih Amazon S3. Di Bucket, masukkan nama bucket S3 yang Anda buatLangkah 1: Buat bucket sumber S3 untuk aplikasi Anda. Di kunci objek S3, masukkan kunci objek dengan atau tanpa jalur file, dan ingat untuk menyertakan ekstensi file. Misalnya, untukSampleApp_Windows.zip, masukkan nama file sampel seperti yang ditunjukkan dalam contoh ini:

    SampleApp_Windows.zip

    Pilih Langkah selanjutnya.

    Di bawah Opsi deteksi perubahan, tinggalkan default. Hal ini CodePipeline memungkinkan Anda menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan dalam bucket sumber Anda.

    Pilih Berikutnya.

  9. Pada Langkah 4: Tambahkan tahap build, pilih Lewati tahap build, lalu terima pesan peringatan dengan memilih Le wati lagi. Pilih Berikutnya.

  10. Pada Langkah 5: Tambahkan tahap pengujian, pilih Lewati tahap pengujian, lalu terima pesan peringatan dengan memilih Le wati lagi.

    Pilih Berikutnya.

  11. Pada Langkah 6: Tambahkan tahap penerapan, di Penyedia Deplo y, pilih CodeDeploy . Bid ang Wilayah secara default Wilayah AWS sama dengan pipeline Anda. Di Nama aplikasi, masukkanMyDemoApplication, atau pilih tombol Refresh, lalu pilih nama aplikasi dari daftar. Di grup Deployment MyDemoDeploymentGroup, masukkan, atau pilih dari daftar, lalu pilih Ber ikutnya.

    catatan

    Nama Deploy adalah nama yang diberikan secara default ke tahap yang dibuat pada langkah Langkah 4: Tambahkan tahap penerapan, sama seperti Source adalah nama yang diberikan ke tahap pertama pipeline.

  12. Pada Langkah 7: Tinjau, tinjau informasi, lalu pilih Buat pipeline.

  13. Pipa mulai berjalan. Anda dapat melihat kemajuan dan pesan keberhasilan dan kegagalan saat CodePipeline sampel menyebarkan halaman web ke setiap instans Amazon EC2 dalam penerapan CodeDeploy.

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

  • Tahap sumber bernama Source, yang mendeteksi perubahan dalam aplikasi sampel berversi yang disimpan di bucket S3 dan menarik perubahan tersebut ke dalam pipeline.

  • T aha p Deploy yang menerapkan perubahan tersebut ke instans EC2 dengan. CodeDeploy

Sekarang, verifikasi hasilnya.

Untuk memverifikasi bahwa pipeline berjalan dengan sukses
  1. Lihat kemajuan awal pipa. Status setiap tahap berubah dari Belum ada eksekusi menjadi Sedang Ber jalan, dan kemudian menjadi Sukses atau Gag al. Pipa harus menyelesaikan proses pertama dalam beberapa menit.

  2. Setelah Suk ses ditampilkan untuk status tindakan, di area status untuk tahap De ploy, pilih Detail. Ini membuka CodeDeploy konsol.

  3. Di tab grup Deployment, di bawah Peristiwa siklus hidup penerapan, pilih ID instans. Ini membuka konsol EC2.

  4. Pada tab Deskripsi, di DNS Pu blik, salin alamatnya, lalu tempelkan ke bilah alamat browser web Anda. Lihat halaman indeks untuk contoh aplikasi yang Anda unggah ke bucket S3 Anda.

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

Untuk informasi selengkapnya tentang tahapan, tindakan, dan cara kerja saluran pipa, lihatCodePipeline konsep.

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

Sekarang tambahkan tahap lain dalam pipeline untuk digunakan dari server staging ke server produksi menggunakan CodeDeploy. Pertama, Anda membuat grup penerapan lain di CodePipelineDemoApplication dalam CodeDeploy. Kemudian Anda menambahkan tahap yang menyertakan tindakan yang menggunakan grup penerapan ini. Untuk menambahkan tahap lain, Anda menggunakan CodePipeline konsol atau AWS CLI untuk mengambil dan mengedit secara manual struktur pipeline dalam file JSON, lalu jalankan update-pipeline perintah untuk memperbarui pipeline dengan perubahan Anda.

Buat grup penerapan kedua di CodeDeploy

catatan

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

Untuk membuat grup penerapan kedua di CodeDeploy
  1. Buka CodeDeploy konsol di https://console.aws.amazon.com/codedeploy.

  2. Pilih Aplikasi, dan dalam daftar aplikasi, pilihMyDemoApplication.

  3. Pilih tab Grup penerapan, lalu pilih Buat grup penerapan.

  4. Pada halaman Buat grup penerapan, di Nama grup pener apan, masukkan nama untuk grup penerapan kedua (misalnya,CodePipelineProductionFleet).

  5. Di Peran Layanan, pilih peran CodeDeploy layanan yang sama yang Anda gunakan untuk penerapan awal (bukan peran CodePipeline layanan).

  6. Di bawah Jenis pener apan, pilih In-place.

  7. Di bawah Konfigurasi lingkungan, pilih Inst ans Amazon EC2. Pilih Nama di kotak K unci, dan di kotak Nilai, pilih MyCodePipelineDemo dari daftar. Tinggalkan konfigurasi default untuk pengaturan Deployment.

  8. Di bawah Konfigurasi pener apan, pilihCodeDeployDefault.OneAtaTime.

  9. Di bawah Load Balancer, hapus Aktifkan penyeim bangan beban.

  10. Pilih Buat grup penerapan.

Tambahkan grup penerapan sebagai tahap lain dalam pipeline Anda

Sekarang setelah Anda memiliki grup penerapan lain, Anda dapat menambahkan tahap yang menggunakan grup penerapan ini untuk menerapkan ke instans EC2 yang sama yang Anda gunakan sebelumnya. Anda dapat menggunakan CodePipeline konsol atau AWS CLI untuk menambahkan tahap ini.

Buat tahap ketiga (konsol)

Anda dapat menggunakan CodePipeline konsol untuk menambahkan tahap baru yang menggunakan grup penerapan baru. Karena grup penerapan ini menerapkan ke instans EC2 yang telah Anda gunakan, tindakan penerapan pada tahap ini gagal.

  1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Di Nama, pilih nama pipeline yang Anda buat, MyFirstPipeline.

  3. Pada halaman rincian pipeline, pilih Edit.

  4. Pada halaman Edit, pilih + Tambah tahap untuk menambahkan tahap segera setelah tahap Deploy.

    Gambar yang menunjukkan tombol + Tambah panggung pada layar edit
  5. Di Tambah tahap, di Nama pang gung, masukkanProduction. Pilih Tambah tahap.

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

  7. Di Edit tindakan, di Nama tindakan, masukkanDeploy-Second-Deployment. Di Penye dia tindakan, di bawah Deplo y, pilih CodeDeploy.

  8. Di CodeDeploy bagian tersebut, di Nama aplikasi, pilih MyDemoApplication dari daftar drop-down, seperti yang Anda lakukan ketika Anda membuat pipeline. Di grup Deployment, pilih grup penerapan yang baru saja Anda buat,CodePipelineProductionFleet. Di Artefak masukan, pilih artefak masukan dari tindakan sumber. Pilih Simpan.

  9. Pada halaman Edit, pilih S impan. Di Simpan perubahan pipeline, pilih S impan.

  10. Meskipun tahap baru telah ditambahkan ke pipeline Anda, status Belum ada eksekusi ditampilkan karena tidak ada perubahan yang memicu proses pipeline lainnya. Anda harus menjalankan ulang revisi terakhir secara manual untuk melihat bagaimana pipeline yang diedit berjalan. Pada halaman detail pipeline, pilih Perubahan rilis, lalu pilih R ilis saat diminta. Ini menjalankan revisi terbaru yang tersedia di setiap lokasi sumber yang ditentukan dalam tindakan sumber melalui pipeline.

    Atau, untuk menggunakan AWS CLI untuk menjalankan kembali pipeline, dari terminal di mesin Linux, macOS, atau Unix lokal Anda, atau prompt perintah pada mesin Windows lokal Anda, jalankan start-pipeline-execution perintah, tentukan nama pipeline. Ini menjalankan aplikasi di bucket sumber Anda melalui pipeline untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikan sebuah pipelineExecutionId objek.

  11. Kembali ke CodePipeline konsol dan dalam daftar saluran pipa, pilih MyFirstPipeline untuk membuka halaman tampilan.

    Pipa menunjukkan tiga tahap dan keadaan artefak yang berjalan melalui tiga tahap tersebut. Mungkin diperlukan waktu hingga lima menit agar pipa berjalan melalui semua tahapan. Anda melihat penerapan berhasil pada dua tahap pertama, sama seperti sebelumnya, tetapi tahap Produksi menunjukkan Deploy-Second-Deployment tindakan gagal.

  12. Dalam Deploy-Second-Deployment aksi, pilih Detail. Anda diarahkan ke halaman untuk CodeDeploy penerapan. Dalam hal ini, kegagalan adalah hasil dari penerapan grup instans pertama ke semua instans EC2, sehingga tidak menyisakan instans untuk grup penerapan kedua.

    catatan

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

Buat tahap ketiga (CLI)

Meskipun menggunakan AWS CLI untuk menambahkan tahap ke pipeline Anda lebih kompleks daripada menggunakan konsol, ini memberikan visibilitas lebih ke dalam struktur pipa.

Untuk membuat tahap ketiga untuk pipeline Anda
  1. Buka sesi terminal di mesin Linux, macOS, atau Unix lokal Anda, atau command prompt di mesin Windows lokal Anda, dan jalankan get-pipeline perintah untuk menampilkan struktur pipeline yang baru saja Anda buat. UntukMyFirstPipeline, Anda akan mengetikkan perintah berikut:

    aws codepipeline get-pipeline --name "MyFirstPipeline"

    Perintah ini mengembalikan struktur MyFirstPipeline. Bagian pertama dari output harus terlihat mirip dengan yang berikut:

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

    Bagian akhir dari output mencakup metadata pipeline dan harus terlihat mirip dengan yang berikut:

    ... ], "artifactStore": { "type": "S3" "location": "amzn-s3-demo-bucket", }, "name": "MyFirstPipeline", "version": 4 }, "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 } }
  2. Salin dan tempel struktur ini ke editor teks biasa, dan simpan file sebagai. pipeline.json Untuk kenyamanan, simpan file ini di direktori yang sama tempat Anda menjalankan aws codepipeline perintah.

    catatan

    Anda dapat menyalurkan JSON langsung ke file dengan get-pipeline perintah sebagai berikut:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
  3. Salin bagian tahap Deploy dan tempel setelah dua tahap pertama. Karena ini adalah tahap penerapan, sama seperti tahap Deploy, Anda menggunakannya sebagai template untuk tahap ketiga.

  4. Ubah nama tahap dan detail grup penerapan.

    Contoh berikut menunjukkan JSON yang Anda tambahkan ke file pipeline.json setelah tahap Deploy. Edit elemen yang ditekankan dengan nilai-nilai baru. Ingatlah untuk menyertakan koma untuk memisahkan definisi tahap Deplo y dan Production.

    , { "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 yang diambil menggunakan get-pipeline perintah, Anda harus menghapus metadata garis dari file JSON. Jika tidak, update-pipeline perintah tidak dapat menggunakannya. Hapus "metadata": { } garis dan "updated" bidang "created""pipelineARN",, dan.

    Misalnya, hapus baris berikut dari struktur:

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

    Simpan file tersebut.

  6. Jalan update-pipeline kan perintah, tentukan file JSON pipeline, mirip dengan yang berikut ini:

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

    Perintah ini mengembalikan seluruh struktur pipeline yang diperbarui.

    penting

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

  7. Jalan start-pipeline-execution kan perintah, tentukan nama pipa. Ini menjalankan aplikasi di bucket sumber Anda melalui pipeline untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikan sebuah pipelineExecutionId objek.

  8. Buka CodePipeline konsol dan pilih MyFirstPipeline dari daftar saluran pipa.

    Pipa menunjukkan tiga tahap dan keadaan artefak yang berjalan melalui tiga tahap tersebut. Mungkin diperlukan waktu hingga lima menit agar pipa berjalan melalui semua tahapan. Meskipun penerapan berhasil pada dua tahap pertama, sama seperti sebelumnya, tahap Produksi menunjukkan bahwa Deploy-Second-Deployment tindakan gagal.

  9. Dalam Deploy-Second-Deployment tindakan, pilih Detail untuk melihat detail kegagalan. Anda diarahkan ke halaman detail untuk CodeDeploy penerapan. Dalam hal ini, kegagalan adalah hasil dari penerapan grup instans pertama ke semua instans EC2, sehingga tidak menyisakan instans untuk grup penerapan kedua.

    catatan

    Kegagalan ini secara 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 pipeline. Menonaktifkan transisi antar tahapan memungkinkan Anda mengontrol transisi secara manual antara satu tahap dan tahap lainnya. Misalnya, Anda mungkin ingin menjalankan dua tahap pertama dari pipeline, tetapi menonaktifkan transisi ke tahap ketiga sampai Anda siap untuk menerapkan ke produksi, atau saat Anda memecahkan masalah atau kegagalan dengan tahap itu.

Untuk menonaktifkan dan mengaktifkan transisi antar tahapan dalam CodePipeline pipeline
  1. Buka CodePipeline konsol dan pilih MyFirstPipeline dari daftar saluran pipa.

  2. Pada halaman detail untuk pipeline, pilih tombol Non aktifkan transisi antara tahap kedua (De plo y) dan tahap ketiga yang Anda tambahkan di bagian sebelumnya (Produksi).

  3. Di Nonaktifkan transisi, masukkan alasan untuk menonaktifkan transisi antar tahapan, lalu pilih Non aktifkan.

    Panah di antara tahapan menampilkan ikon dan perubahan warna, dan tombol Aktifkan transisi.

    Gambar yang menunjukkan alasan yang dimasukkan untuk menonaktifkan transisi sebagai “Menonaktifkan transisi saat saya memecahkan masalah kegagalan”
  4. Unggah sampel Anda lagi ke bucket S3. Karena bucket memiliki versi, perubahan ini memulai pipeline.

  5. Kembali ke halaman detail untuk pipeline Anda dan perhatikan status tahapannya. Tampilan pipeline berubah untuk menunjukkan kemajuan dan keberhasilan pada dua tahap pertama, tetapi tidak ada perubahan yang terjadi pada tahap ketiga. Proses ini mungkin memakan waktu beberapa menit.

  6. Aktifkan transisi dengan memilih tombol Aktifkan transisi antara dua tahap. Di kotak dialog Aktifkan transisi, pilih Aktifkan. Panggung mulai berjalan dalam beberapa menit dan mencoba untuk memproses artefak yang telah dijalankan melalui dua tahap pertama pipa.

    catatan

    Jika Anda ingin tahap ketiga ini berhasil, edit grup CodePipelineProductionFleet penerapan sebelum Anda mengaktifkan transisi, dan tentukan kumpulan instans EC2 yang berbeda tempat aplikasi digunakan. Untuk informasi selengkapnya tentang cara melakukannya, lihat Meng ubah setelan grup penerapan. Jika Anda membuat lebih banyak instans EC2, Anda mungkin dikenakan biaya tambahan.

Langkah 7: Bersihkan sumber daya

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

Namun, setelah Anda menyelesaikan ini dan tutorial lainnya, Anda harus menghapus pipeline dan sumber daya yang digunakannya, sehingga Anda tidak dikenakan biaya untuk penggunaan sumber daya yang berkelanjutan. Pertama, hapus pipeline, kemudian CodeDeploy aplikasi dan instans Amazon EC2 yang terkait, dan terakhir, bucket S3.

Untuk membersihkan sumber daya yang digunakan dalam tutorial ini
  1. Untuk membersihkan CodePipeline sumber daya Anda, ikuti petunjuk di Hapus pipeline di AWS CodePipeline.

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

  3. Untuk menghapus bucket S3, ikuti petunjuk di Menghapus atau mengosongkan bucket. Jika Anda tidak bermaksud membuat lebih banyak pipeline, hapus bucket S3 yang dibuat untuk menyimpan artefak pipeline Anda. Untuk informasi lebih lanjut tentang ember ini, lihatCodePipeline konsep.