Penerapan pada Platform Komputasi EC2 /Lokal - AWS CodeDeploy

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

Penerapan pada Platform Komputasi EC2 /Lokal

Topik ini memberikan informasi tentang komponen dan alur kerja CodeDeploy penerapan yang menggunakan platform komputasi EC2 /On-Premises. Untuk informasi tentang penerapan biru/hijau, lihat. Ikhtisar penyebaran biru/hijau

Komponen penerapan pada platform komputasi EC2 /lokal

Diagram berikut menunjukkan komponen dalam CodeDeploy penerapan pada platform komputasi EC2 /On-Premise.

Komponen dalam CodeDeploy penerapan pada platform komputasi EC2 /On-Premise.

Alur kerja penerapan pada platform komputasi EC2 /lokal

Diagram berikut menunjukkan langkah-langkah utama dalam penyebaran revisi aplikasi:

Langkah-langkah utama dalam penyebaran revisi aplikasi.

Langkah-langkah ini meliputi:

  1. Buat aplikasi dan berikan nama yang secara unik mengidentifikasi revisi aplikasi yang ingin Anda terapkan dan platform komputasi untuk aplikasi Anda. CodeDeploy menggunakan nama ini selama penerapan untuk memastikannya merujuk komponen penerapan yang benar, seperti grup penyebaran, konfigurasi penerapan, dan revisi aplikasi. Untuk informasi selengkapnya, lihat Buat aplikasi dengan CodeDeploy.

  2. Siapkan grup penerapan dengan menentukan jenis penerapan dan instance yang ingin Anda gunakan untuk menerapkan revisi aplikasi. Penerapan di tempat memperbarui instance dengan revisi aplikasi terbaru. Penerapan biru/hijau mendaftarkan sekumpulan instance pengganti untuk grup penerapan dengan penyeimbang beban dan membatalkan pendaftaran instans asli.

    Anda dapat menentukan tag yang diterapkan ke instance, nama grup Amazon EC2 Auto Scaling, atau keduanya.

    Jika Anda menentukan satu grup tag dalam grup penyebaran, CodeDeploy deploy ke instance yang memiliki setidaknya satu tag yang ditentukan diterapkan. Jika Anda menentukan dua atau beberapa grup tag, CodeDeploy hanya akan diterapkan ke instance yang memenuhi kriteria untuk masing-masing grup tag. Untuk informasi selengkapnya, lihat Tagging Instances for Deployments.

    Dalam semua kasus, instance harus dikonfigurasi untuk digunakan dalam penerapan (yaitu, mereka harus ditandai atau milik grup EC2 Auto Scaling Amazon) dan memiliki agen diinstal dan dijalankan. CodeDeploy

    Kami menyediakan AWS CloudFormation template yang dapat Anda gunakan untuk menyiapkan EC2 instans Amazon dengan cepat berdasarkan Amazon Linux atau Windows Server. Kami juga menyediakan CodeDeploy agen mandiri sehingga Anda dapat menginstalnya di Amazon Linux, Ubuntu Server, Red Hat Enterprise Linux (RHEL), atau instans Windows Server. Untuk informasi selengkapnya, lihat Buat grup penerapan dengan CodeDeploy.

    Anda juga dapat menentukan parameter berikut:

    • SNSPemberitahuan Amazon. Buat pemicu yang mengirim pemberitahuan ke pelanggan tentang SNS topik Amazon saat peristiwa tertentu, seperti peristiwa sukses atau gagal, terjadi dalam penerapan dan instance. Untuk informasi selengkapnya, lihat Monitoring Deployments with Amazon SNS Event Notifications.

    • Manajemen penyebaran berbasis alarm. Menerapkan pemantauan CloudWatch alarm Amazon untuk menghentikan penerapan ketika metrik Anda melebihi atau jatuh di bawah ambang batas yang ditetapkan. CloudWatch

    • Rollback penerapan otomatis. Konfigurasikan penerapan untuk memutar kembali secara otomatis ke revisi baik yang sebelumnya diketahui saat penerapan gagal atau ambang batas alarm terpenuhi.

  3. Tentukan konfigurasi penerapan untuk menunjukkan berapa banyak instance revisi aplikasi Anda harus diterapkan secara bersamaan dan untuk menjelaskan kondisi keberhasilan dan kegagalan untuk penerapan. Untuk informasi selengkapnya, lihat View Deployment Configuration Details.

  4. Unggah revisi aplikasi ke Amazon GitHub S3 atau. Selain file yang ingin Anda gunakan dan skrip apa pun yang ingin Anda jalankan selama penerapan, Anda harus menyertakan file spesifikasi aplikasi (file)AppSpec . File ini berisi instruksi penyebaran, seperti tempat untuk menyalin file ke setiap instance dan kapan menjalankan skrip penerapan. Untuk informasi selengkapnya, lihat Bekerja dengan revisi aplikasi untuk CodeDeploy.

  5. Menerapkan revisi aplikasi Anda ke grup penyebaran. CodeDeploy Agen pada setiap instans dalam grup penerapan menyalin revisi aplikasi Anda dari Amazon S3 GitHub atau ke instance. CodeDeploy Agen kemudian membuka bundel revisi, dan menggunakan AppSpec file, menyalin file ke lokasi yang ditentukan dan mengeksekusi skrip penerapan apa pun. Untuk informasi selengkapnya, lihat Buat penerapan dengan CodeDeploy.

  6. Periksa hasil penerapan. Untuk informasi selengkapnya, lihat Memantau penyebaran di CodeDeploy.

  7. Menerapkan ulang revisi. Anda mungkin ingin melakukan ini jika Anda perlu memperbaiki bug di konten sumber, atau menjalankan skrip penerapan dalam urutan yang berbeda, atau mengatasi penerapan yang gagal. Untuk melakukannya, gabungkan ulang konten sumber yang direvisi, skrip penerapan apa pun, dan AppSpec file menjadi revisi baru, lalu unggah revisi ke bucket atau repositori Amazon S3. GitHub Kemudian jalankan penerapan baru ke grup penyebaran yang sama dengan revisi baru. Untuk informasi selengkapnya, lihat Buat penerapan dengan CodeDeploy.

Menyiapkan instance

Anda harus menyiapkan instance sebelum dapat menerapkan revisi aplikasi untuk pertama kalinya. Jika revisi aplikasi memerlukan tiga server produksi dan dua server cadangan, Anda meluncurkan atau menggunakan lima instance.

Untuk menyediakan instance secara manual:

  1. Instal CodeDeploy agen pada instance. CodeDeploy Agen dapat diinstal pada Amazon Linux, Ubuntu ServerRHEL, dan Windows Server instance.

  2. Aktifkan penandaan, jika Anda menggunakan tag untuk mengidentifikasi instance dalam grup penyebaran. CodeDeploy bergantung pada tag untuk mengidentifikasi dan mengelompokkan instance ke dalam grup CodeDeploy penerapan. Meskipun tutorial Memulai menggunakan keduanya, Anda cukup menggunakan kunci atau nilai untuk menentukan tag untuk grup penyebaran.

  3. Luncurkan EC2 instans Amazon dengan profil IAM instans terlampir. Profil IAM instans harus dilampirkan ke EC2 instans Amazon saat diluncurkan agar CodeDeploy agen dapat memverifikasi identitas instance.

  4. Membuat peran layanan. Berikan akses layanan sehingga CodeDeploy dapat memperluas tag di AWS akun Anda.

Untuk penerapan awal, AWS CloudFormation template melakukan semua ini untuk Anda. Ini membuat dan mengkonfigurasi EC2 instance Amazon tunggal baru berdasarkan Amazon Linux atau Windows Server dengan CodeDeploy agen yang sudah diinstal. Untuk informasi selengkapnya, lihat Bekerja dengan instance untuk CodeDeploy.

catatan

Untuk penerapan biru/hijau, Anda dapat memilih antara menggunakan instance yang sudah Anda miliki untuk lingkungan pengganti atau membiarkan CodeDeploy penyediaan instance baru untuk Anda sebagai bagian dari proses penerapan.

Mengunggah revisi aplikasi Anda

Tempatkan AppSpec file di bawah folder root dalam struktur folder konten sumber aplikasi Anda. Untuk informasi selengkapnya, lihat Application Specification Files.

Bundel struktur folder konten sumber aplikasi ke dalam format file arsip seperti zip, tar, atau tar terkompresi. Unggah file arsip (revisi) ke bucket GitHub atau repositori Amazon S3.

catatan

Format file arsip tar dan tar terkompresi (.tar dan.tar.gz) tidak didukung untuk instance Windows Server.

Membuat grup aplikasi dan penerapan

Grup CodeDeploy penerapan mengidentifikasi kumpulan instance berdasarkan tag, nama grup Amazon EC2 Auto Scaling, atau keduanya. Beberapa revisi aplikasi dapat diterapkan ke instance yang sama. Revisi aplikasi dapat diterapkan ke beberapa instance.

Misalnya, Anda dapat menambahkan tag “Prod” ke tiga server produksi dan “Backup” ke dua server cadangan. Kedua tag ini dapat digunakan untuk membuat dua grup penyebaran yang berbeda dalam CodeDeploy aplikasi, memungkinkan Anda memilih kumpulan server mana (atau keduanya) yang harus berpartisipasi dalam penerapan.

Anda dapat menggunakan beberapa grup tag dalam grup penerapan untuk membatasi penerapan ke kumpulan instance yang lebih kecil. Untuk informasi, lihat Tagging Instances for Deployments.

Menyebarkan revisi aplikasi Anda

Sekarang Anda siap untuk menerapkan revisi aplikasi Anda dari Amazon S3 GitHub atau ke grup penyebaran. Anda dapat menggunakan CodeDeploy konsol atau perintah create-deployment. Ada parameter yang dapat Anda tentukan untuk mengontrol penerapan Anda, termasuk revisi, grup penyebaran, dan konfigurasi penerapan.

Memperbarui aplikasi Anda

Anda dapat membuat pembaruan pada aplikasi Anda dan kemudian menggunakan CodeDeploy konsol atau memanggil perintah create-deployment untuk mendorong revisi.

Penerapan yang dihentikan dan gagal

Anda dapat menggunakan CodeDeploy konsol atau perintah stop-deployment untuk menghentikan penerapan. Saat Anda mencoba menghentikan penerapan, salah satu dari tiga hal terjadi:

  • Penerapan berhenti, dan operasi mengembalikan status berhasil. Dalam kasus ini, tidak ada lagi peristiwa siklus hidup penerapan yang dijalankan pada grup penerapan untuk penerapan yang dihentikan. Beberapa file mungkin telah disalin, dan beberapa skrip mungkin sudah dijalankan, satu atau lebih instance dalam grup penyebaran.

  • Penyebaran tidak segera berhenti, dan operasi mengembalikan status tertunda. Dalam kasus ini, beberapa peristiwa siklus hidup penerapan mungkin masih berjalan di grup penerapan. Beberapa file mungkin telah disalin, dan beberapa skrip mungkin sudah dijalankan, satu atau lebih instance dalam grup penyebaran. Setelah operasi yang tertunda selesai, panggilan berikutnya untuk menghentikan penyebaran mengembalikan status berhasil.

  • Penerapan tidak dapat berhenti, dan operasi mengembalikan kesalahan. Untuk informasi selengkapnya, lihat ErrorInformationdan Kesalahan umum dalam AWS CodeDeploy API Referensi.

Seperti penerapan yang dihentikan, penerapan yang gagal dapat mengakibatkan beberapa peristiwa siklus hidup penerapan telah dijalankan pada satu atau beberapa instance dalam grup penerapan. Untuk mengetahui mengapa penerapan gagal, Anda dapat menggunakan CodeDeploy konsol, memanggil get-deployment-instanceperintah, atau menganalisis data file log dari penerapan yang gagal. Untuk informasi selengkapnya, silakan lihat Revisi aplikasi dan pembersihan file log dan Melihat data log untuk penerapan CodeDeploy EC2/Lokal.

Penerapan ulang dan rollback penerapan

CodeDeploy mengimplementasikan rollback dengan menerapkan kembali, sebagai penerapan baru, revisi yang sebelumnya diterapkan.

Anda dapat mengonfigurasi grup penerapan untuk secara otomatis memutar kembali penerapan saat kondisi tertentu terpenuhi, termasuk saat penerapan gagal atau ambang batas pemantauan alarm terpenuhi. Anda juga dapat mengganti pengaturan rollback yang ditentukan untuk grup penerapan dalam penerapan individual.

Anda juga dapat memilih untuk mengembalikan penerapan yang gagal dengan menerapkan ulang revisi yang sebelumnya digunakan secara manual.

Dalam semua kasus, penerapan baru atau rolled-back diberi ID penerapan sendiri. Daftar penerapan yang dapat Anda lihat di CodeDeploy konsol menunjukkan mana yang merupakan hasil dari penerapan otomatis.

Untuk informasi selengkapnya, lihat Menerapkan ulang dan memutar kembali penerapan dengan CodeDeploy.