

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

# Integrasi produk dan layanan dengan CodeDeploy
<a name="integrations"></a>

Secara default, CodeDeploy terintegrasi dengan sejumlah AWS layanan dan produk dan layanan mitra. Informasi berikut dapat membantu Anda mengonfigurasi CodeDeploy untuk berintegrasi dengan produk dan layanan yang Anda gunakan. 
+ [Integrasi dengan AWS layanan lain](integrations-aws.md)
+  [Integrasi dengan produk dan layanan mitra](integrations-partners.md)
+ [Contoh integrasi dari komunitas](integrations-community.md)

# Integrasi dengan AWS layanan lain
<a name="integrations-aws"></a>

CodeDeploy terintegrasi dengan AWS layanan berikut:


|  |  | 
| --- |--- |
| Amazon CloudWatch |  [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/) adalah layanan pemantauan untuk sumber daya AWS cloud dan aplikasi yang Anda jalankan AWS. Anda dapat menggunakan Amazon CloudWatch untuk mengumpulkan dan melacak metrik, mengumpulkan dan memantau file log, dan mengatur alarm. CodeDeploy mendukung CloudWatch alat-alat berikut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html)  | 
| Amazon EC2 Auto Scaling |  CodeDeploy mendukung [Amazon EC2 Auto](https://aws.amazon.com/autoscaling) Scaling. AWS Layanan ini dapat secara otomatis meluncurkan instans Amazon EC2 berdasarkan kriteria yang Anda tentukan, misalnya:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html) Anda dapat meningkatkan skala grup instans Amazon EC2 kapan pun Anda membutuhkannya dan kemudian menggunakannya CodeDeploy untuk menerapkan revisi aplikasi ke instans tersebut secara otomatis. Amazon EC2 Auto Scaling menghentikan instans Amazon EC2 tersebut saat tidak lagi diperlukan. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html)  | 
| Layanan Kontainer Elastis Amazon |   Anda dapat menggunakan CodeDeploy untuk menerapkan aplikasi kontainer Amazon ECS sebagai set tugas. CodeDeploy melakukan blue/green penyebaran dengan menginstal versi aplikasi yang diperbarui sebagai set tugas pengganti baru. CodeDeploy mengubah rute lalu lintas produksi dari tugas aplikasi asli yang disetel ke set tugas pengganti. Set tugas asli dihentikan setelah penerapan berhasil. Untuk informasi selengkapnya tentang Amazon ECS, lihat [Amazon Elastic Container Service](https://aws.amazon.com/ecs/).  Anda dapat mengelola cara lalu lintas dialihkan ke set tugas yang diperbarui selama penerapan dengan memilih kenari, linier, atau konfigurasi. all-at-once Untuk informasi selengkapnya tentang penerapan Amazon ECS, lihat [Penerapan di platform komputasi Amazon ECS](https://docs.aws.amazon.com/en_us/codedeploy/latest/userguide/deployment-steps-ecs.html).   | 
| AWS CloudTrail |  CodeDeploy terintegrasi dengan [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). Layanan ini menangkap panggilan API yang dilakukan oleh atau atas nama AWS akun Anda dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. CodeDeploy CloudTrailmenangkap panggilan API dari CodeDeploy konsol, dari CodeDeploy perintah melalui AWS CLI, atau dari CodeDeploy APIs langsung. Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html) Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html)  | 
| AWS Cloud9 |  [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/)adalah lingkungan pengembangan terintegrasi (IDE) online berbasis cloud yang dapat Anda gunakan untuk menulis, menjalankan, men-debug, dan menyebarkan kode hanya menggunakan browser dari mesin yang terhubung ke internet. AWS Cloud9 termasuk editor kode, debugger, terminal, dan alat-alat penting, seperti dan AWS CLI Git. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html) Untuk informasi selengkapnya AWS Cloud9, lihat [Apa itu AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcom.html) dan [Memulai AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/get-started.html).  | 
| AWS CodePipeline |  [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/)adalah layanan pengiriman berkelanjutan yang dapat Anda gunakan untuk memodelkan, memvisualisasikan, dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perangkat lunak Anda dalam proses pengiriman berkelanjutan. Anda dapat menggunakan AWS CodePipeline untuk menentukan proses rilis Anda sendiri sehingga layanan membangun, menguji, dan menyebarkan kode Anda setiap kali ada perubahan kode. Misalnya, Anda mungkin memiliki tiga grup penerapan untuk aplikasi: Beta, Gamma, dan Prod. Anda dapat mengatur pipeline sehingga setiap kali ada perubahan dalam kode sumber Anda, pembaruan akan diterapkan ke setiap grup penyebaran, satu per satu. Anda dapat mengonfigurasi AWS CodePipeline untuk digunakan CodeDeploy untuk menyebarkan: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html)  Anda dapat membuat grup CodeDeploy aplikasi, deployment, dan deployment untuk digunakan dalam tindakan deploy dalam satu tahap baik sebelum membuat pipeline atau di wizard **Create** Pipeline. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html)  | 
| AWS Model Aplikasi Tanpa Server |  AWS Serverless Application Model (AWS SAM) adalah model untuk mendefinisikan aplikasi tanpa server. Ini meluas CloudFormation untuk menyediakan cara yang disederhanakan untuk mendefinisikan AWS Lambda fungsi, Amazon API Gateway APIs, dan tabel Amazon DynamoDB yang diperlukan oleh aplikasi tanpa server. Jika Anda sudah menggunakan AWS SAM, Anda dapat menambahkan preferensi penerapan untuk mulai menggunakan CodeDeploy untuk mengelola cara lalu lintas digeser selama penerapan aplikasi AWS Lambda. Untuk informasi selengkapnya, lihat Model [Aplikasi AWS Tanpa Server](https://github.com/awslabs/serverless-application-model).  | 
| Elastic Load Balancing |  CodeDeploy mendukung [Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html), layanan yang mendistribusikan lalu lintas aplikasi masuk di beberapa instans Amazon EC2.  Untuk CodeDeploy penerapan, penyeimbang beban juga mencegah lalu lintas dialihkan ke instance ketika mereka tidak siap, saat ini sedang digunakan, atau tidak lagi diperlukan sebagai bagian dari lingkungan. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-aws.html)  | 

**Topics**
+ [Amazon EC2 Auto Scaling](integrations-aws-auto-scaling.md)
+ [Integrating CodeDeploy with Elastic Load Balancing](integrations-aws-elastic-load-balancing.md)

# Mengintegrasikan CodeDeploy dengan Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling"></a>

CodeDeploy mendukung Amazon EC2 Auto Scaling AWS , layanan yang meluncurkan instans Amazon EC2 secara otomatis sesuai dengan kondisi yang Anda tentukan. Kondisi ini dapat mencakup batas yang terlampaui dalam interval waktu tertentu untuk pemanfaatan CPU, membaca atau menulis disk, atau lalu lintas jaringan masuk atau keluar. Amazon EC2 Auto Scaling menghentikan instans saat tidak lagi diperlukan. Untuk informasi selengkapnya, lihat [Apa itu Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/latest/userguide/WhatIsAutoScaling.html)? di Panduan Pengguna *Penskalaan Otomatis Amazon EC2*.

Saat instans Amazon EC2 baru diluncurkan sebagai bagian dari CodeDeploy grup Penskalaan Otomatis Amazon EC2, Anda dapat menerapkan revisi Anda ke instans baru secara otomatis. Anda juga dapat mengoordinasikan penerapan CodeDeploy dengan instans Amazon EC2 Auto Scaling yang terdaftar dengan penyeimbang beban Elastic Load Balancing. Untuk informasi selengkapnya, lihat [Integrasi CodeDeploy dengan Elastic Load Balancing](integrations-aws-elastic-load-balancing.md) dan [Siapkan penyeimbang beban di Elastic Load Balancing untuk penerapan Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md).

**catatan**  
Anda mungkin mengalami masalah jika mengaitkan beberapa grup penerapan dengan satu grup Penskalaan Otomatis Amazon EC2. Jika satu penerapan gagal, misalnya, instance akan mulai dimatikan, tetapi penerapan lain yang sedang berjalan dapat memakan waktu satu jam untuk habis waktu. Untuk informasi selengkapnya, lihat [Hindari mengaitkan beberapa grup penerapan dengan satu grup Penskalaan Otomatis Amazon EC2](troubleshooting-auto-scaling.md#troubleshooting-multiple-depgroups) dan [Under the hood: CodeDeploy dan integrasi Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/devops/under-the-hood-aws-codedeploy-and-auto-scaling-integration/).

**Topics**
+ [Menyebarkan CodeDeploy aplikasi ke grup Amazon EC2 Auto Scaling](#integrations-aws-auto-scaling-deploy)
+ [Mengaktifkan penerapan penghentian selama peristiwa penskalaan Auto Scaling](#integrations-aws-auto-scaling-behaviors-hook-enable)
+ [Cara Kerja Amazon EC2 Auto Scaling CodeDeploy](#integrations-aws-auto-scaling-behaviors)
+ [Menggunakan AMI khusus dengan CodeDeploy dan Amazon EC2 Auto Scaling](#integrations-aws-auto-scaling-custom-ami)

## Menyebarkan CodeDeploy aplikasi ke grup Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling-deploy"></a>

Untuk menerapkan revisi CodeDeploy aplikasi ke grup Amazon EC2 Auto Scaling:

1. Buat atau temukan profil instans IAM yang memungkinkan grup Amazon EC2 Auto Scaling bekerja dengan Amazon S3. Untuk informasi selengkapnya, lihat [Langkah 4: Buat profil instans IAM untuk instans Amazon EC2 Anda](getting-started-create-iam-instance-profile.md).
**catatan**  
Anda juga dapat menggunakan CodeDeploy untuk menerapkan revisi dari GitHub repositori ke grup Amazon EC2 Auto Scaling. Meskipun instans Amazon EC2 masih memerlukan profil instans IAM, profil tersebut tidak memerlukan izin tambahan untuk menerapkan dari repositori. GitHub 

1. Buat atau gunakan grup Amazon EC2 Auto Scaling, yang menentukan profil instans IAM dalam konfigurasi atau templat peluncuran Anda. Untuk informasi selengkapnya, lihat [peran IAM untuk aplikasi yang berjalan di instans Amazon EC2](https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html).

1. Membuat atau menemukan peran layanan yang memungkinkan CodeDeploy untuk membuat grup penerapan yang berisi grup Penskalaan Otomatis Amazon EC2.

1. Buat grup penerapan dengan CodeDeploy, tentukan nama grup Amazon EC2 Auto Scaling, peran layanan, dan beberapa opsi lainnya. Untuk informasi selengkapnya, lihat [Buat grup penerapan untuk penerapan di tempat (konsol)](deployment-groups-create-in-place.md) atau [Buat grup penerapan untuk penerapan di tempat (konsol)](deployment-groups-create-in-place.md).

1. Gunakan CodeDeploy untuk menerapkan revisi Anda ke grup penerapan yang berisi grup Penskalaan Otomatis Amazon EC2.

Untuk informasi selengkapnya, lihat [Tutorial: Gunakan CodeDeploy untuk menyebarkan aplikasi ke grup Auto Scaling](tutorials-auto-scaling-group.md).

## Mengaktifkan penerapan penghentian selama peristiwa penskalaan Auto Scaling
<a name="integrations-aws-auto-scaling-behaviors-hook-enable"></a>

Penerapan *terminasi adalah jenis CodeDeploy penerapan* yang diaktifkan secara otomatis saat terjadi peristiwa [penskalaan Auto Scaling.](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in) CodeDeploy melakukan penerapan penghentian tepat sebelum layanan Auto Scaling menghentikan instance. Selama penerapan penghentian, CodeDeploy tidak menerapkan apa pun. Sebagai gantinya, ini menghasilkan peristiwa siklus hidup, yang dapat Anda hubungkan ke skrip Anda sendiri untuk mengaktifkan fungsionalitas shutdown khusus. Misalnya, Anda dapat menghubungkan peristiwa `ApplicationStop` siklus hidup ke skrip yang mematikan aplikasi Anda dengan anggun sebelum instance dihentikan. 

Untuk daftar peristiwa siklus hidup yang CodeDeploy dihasilkan selama penerapan penghentian, lihat. [Ketersediaan kait acara siklus hidup](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-availability) 

Jika penerapan penghentian gagal karena alasan apa pun, CodeDeploy akan memungkinkan penghentian instance untuk dilanjutkan. Ini berarti bahwa instance akan dimatikan meskipun CodeDeploy tidak menjalankan set lengkap (atau apa pun) peristiwa siklus hidup hingga selesai.

Jika Anda tidak mengaktifkan penerapan penghentian, layanan Auto Scaling akan tetap menghentikan instans Amazon EC2 saat peristiwa scale-in terjadi, tetapi tidak akan menghasilkan peristiwa siklus hidup. CodeDeploy 

**catatan**  
Terlepas dari apakah Anda mengaktifkan penerapan penghentian atau tidak, jika layanan Auto Scaling menghentikan instans Amazon EC2 CodeDeploy saat penerapan sedang berlangsung, maka kondisi balapan dapat terjadi antara peristiwa siklus hidup yang dihasilkan oleh Auto Scaling dan layanan. CodeDeploy Misalnya, peristiwa `Terminating` siklus hidup (yang dihasilkan oleh layanan Auto Scaling) mungkin mengganti `ApplicationStart` peristiwa (dihasilkan oleh penerapan). CodeDeploy Dalam skenario ini, Anda mungkin mengalami kegagalan dengan penghentian instans Amazon EC2 atau penerapan CodeDeploy .

**Untuk mengaktifkan CodeDeploy untuk melakukan penerapan penghentian**
+ Pilih kotak centang **Tambahkan pengakhiran ke grup Auto Scaling** saat membuat atau memperbarui grup penerapan Anda. Untuk instruksi, lihat[Buat grup penerapan untuk penerapan di tempat (konsol)](deployment-groups-create-in-place.md), atau[Membuat grup penerapan untuk penerapan blue/green EC2/On-premise (konsol)](deployment-groups-create-blue-green.md).

  Mengaktifkan kotak centang ini akan CodeDeploy menyebabkan pemasangan hook [siklus hidup Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) ke grup Auto Scaling yang Anda tentukan saat membuat atau memperbarui grup penerapan. CodeDeploy Hook ini disebut *hook terminasi* dan memungkinkan penerapan terminasi.

**Setelah kait terminasi diinstal, peristiwa scale-in (terminasi) terungkap sebagai berikut:**

1. Layanan Auto Scaling (atau secara sederhana, Auto Scaling) menentukan bahwa peristiwa scale-in perlu terjadi, dan menghubungi layanan EC2 untuk menghentikan instans EC2.

1. Layanan EC2 mulai menghentikan instans EC2. Contoh bergerak ke `Terminating` negara bagian, dan kemudian ke `Terminating:Wait` negara bagian. 

1. Selama`Terminating:Wait`, Auto Scaling menjalankan semua kait siklus hidup yang terpasang pada grup Auto Scaling, termasuk hook terminasi yang dipasang oleh. CodeDeploy

1. Hook terminasi mengirimkan pemberitahuan ke [antrian Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) yang disurvei oleh. CodeDeploy

1. Setelah menerima pemberitahuan, CodeDeploy mem-parsing pesan, melakukan beberapa validasi, dan melakukan penyebaran [penghentian](#integrations-aws-auto-scaling-behaviors-hook-enable).

1. Saat penerapan penghentian berjalan, CodeDeploy kirim detak jantung setiap lima menit ke Auto Scaling untuk memberi tahu bahwa instance masih dikerjakan.

1. Sejauh ini, instans EC2 masih dalam `Terminating:Wait` status (atau mungkin `Warmed:Pending:Wait` status, jika Anda telah mengaktifkan [kumpulan hangat grup Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/warm-pool-instance-lifecycle.html)).

1. Ketika penerapan selesai, CodeDeploy menunjukkan Auto Scaling `CONTINUE` ke proses penghentian EC2, terlepas dari apakah penerapan penghentian berhasil atau gagal.

## Cara Kerja Amazon EC2 Auto Scaling CodeDeploy
<a name="integrations-aws-auto-scaling-behaviors"></a>

Saat Anda membuat atau memperbarui grup CodeDeploy penerapan untuk menyertakan grup Auto Scaling CodeDeploy, mengakses grup Auto Scaling menggunakan peran layanan, lalu menginstal hook siklus [hidup Auto Scaling CodeDeploy ke grup Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) Anda.

**catatan**  
Kait *siklus hidup Auto Scaling berbeda dari peristiwa siklus hidup (juga disebut kait* *peristiwa siklus hidup*) yang *dihasilkan oleh dan dijelaskan dalam panduan ini*. CodeDeploy [AppSpec Bagian 'kait'](reference-appspec-file-structure-hooks.md)

Kait siklus hidup Auto Scaling yang dipasang adalah: CodeDeploy 
+ **Hook peluncuran** - Kait ini memberi tahu CodeDeploy bahwa acara [penskalaan Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-out) sedang berlangsung, dan CodeDeploy itu perlu memulai penerapan peluncuran.

  Selama *penyebaran peluncuran*, CodeDeploy:
  + Menerapkan revisi aplikasi Anda ke instance scaled-out.
  + Menghasilkan peristiwa siklus hidup untuk menunjukkan kemajuan penerapan. Anda dapat menghubungkan peristiwa siklus hidup ini ke skrip Anda sendiri untuk mengaktifkan fungsionalitas startup kustom. Untuk informasi lebih lanjut, lihat tabel di[Ketersediaan kait acara siklus hidup](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-availability).

  Kait peluncuran dan penerapan peluncuran terkait selalu diaktifkan dan tidak dapat dimatikan.
+ **Hook terminasi** — Hook opsional ini memberi tahu CodeDeploy bahwa peristiwa [penskalaan Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in) sedang berlangsung, dan CodeDeploy itu perlu memulai penerapan penghentian.

  Selama *penerapan penghentian*, buat CodeDeploy peristiwa siklus hidup untuk menunjukkan kemajuan shutdown instance. Untuk informasi selengkapnya, lihat [Mengaktifkan penerapan penghentian selama peristiwa penskalaan Auto Scaling](#integrations-aws-auto-scaling-behaviors-hook-enable).

**Topics**
+ [Setelah CodeDeploy menginstal kait siklus hidup, bagaimana mereka digunakan?](#integrations-aws-auto-scaling-behaviors-hook-usage)
+ [Bagaimana CodeDeploy nama grup Amazon EC2 Auto Scaling](#integrations-aws-auto-scaling-behaviors-naming)
+ [Urutan eksekusi peristiwa kait siklus hidup kustom](#integrations-aws-auto-scaling-behaviors-hook-order)
+ [Peristiwa penskalaan selama penerapan](#integrations-aws-auto-scaling-behaviors-mixed-environment)
+ [Peristiwa skala dalam selama penerapan](#integrations-aws-auto-scaling-behaviors-scale-in)
+ [Urutan acara dalam skrip AWS CloudFormation cfn-init](#integrations-aws-auto-scaling-behaviors-event-order)

### Setelah CodeDeploy menginstal kait siklus hidup, bagaimana mereka digunakan?
<a name="integrations-aws-auto-scaling-behaviors-hook-usage"></a>

Setelah kait siklus hidup peluncuran dan penghentian diinstal, masing-masing digunakan oleh selama acara penskalaan dan CodeDeploy penskalaan grup Auto Scaling.

**Acara scale-out (peluncuran) terungkap sebagai berikut:**

1. Layanan Auto Scaling (atau secara sederhana, Auto Scaling) menentukan bahwa peristiwa scale-out perlu terjadi, dan menghubungi layanan EC2 untuk meluncurkan instans EC2 baru.

1. Layanan EC2 meluncurkan instans EC2 baru. Contoh bergerak ke `Pending` negara bagian, dan kemudian ke `Pending:Wait` negara bagian. 

1. Selama`Pending:Wait`, Auto Scaling menjalankan semua kait siklus hidup yang terpasang pada grup Auto Scaling, termasuk hook peluncuran yang dipasang oleh. CodeDeploy

1. Kait peluncuran mengirimkan pemberitahuan ke [antrian Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) yang disurvei oleh. CodeDeploy

1. Setelah menerima pemberitahuan, CodeDeploy mem-parsing pesan, melakukan beberapa validasi, dan memulai penyebaran [peluncuran](#launch-deployment).

1. Saat penerapan peluncuran sedang berjalan, CodeDeploy kirim detak jantung setiap lima menit ke Auto Scaling untuk memberi tahu bahwa instance masih dikerjakan.

1. Sejauh ini, instans EC2 masih dalam `Pending:Wait` keadaan.

1. Ketika penerapan selesai, CodeDeploy menunjukkan Auto Scaling ke `CONTINUE` salah satu `ABANDON` atau proses peluncuran EC2, tergantung pada apakah penerapan berhasil atau gagal.
   + Jika CodeDeploy menunjukkan`CONTINUE`, Auto Scaling melanjutkan proses peluncuran, baik menunggu kait lain selesai, atau memasukkan instance ke dalam `Pending:Proceed` dan kemudian status. `InService`
   + **Jika CodeDeploy menunjukkan`ABANDON`, Auto Scaling menghentikan instans EC2, dan memulai ulang prosedur peluncuran jika diperlukan untuk memenuhi jumlah instans yang diinginkan, seperti yang didefinisikan dalam pengaturan Kapasitas yang Diinginkan Auto Scaling.**

**Peristiwa scale-in (terminasi) terungkap sebagai berikut:**

Lihat [Mengaktifkan penerapan penghentian selama peristiwa penskalaan Auto Scaling](#integrations-aws-auto-scaling-behaviors-hook-enable).

### Bagaimana CodeDeploy nama grup Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling-behaviors-naming"></a>

 

Selama blue/green penerapan pada platform komputasi EC2/Lokal, Anda memiliki dua opsi untuk menambahkan instance ke lingkungan pengganti (hijau):
+  Gunakan contoh yang sudah ada atau yang Anda buat secara manual. 
+  Gunakan pengaturan dari grup Penskalaan Otomatis Amazon EC2 yang Anda tentukan untuk menentukan dan membuat instance di grup Amazon EC2 Auto Scaling baru. 

 Jika Anda memilih opsi kedua, berikan grup CodeDeploy Penskalaan Otomatis Amazon EC2 baru untuk Anda. Ini menggunakan konvensi berikut untuk memberi nama grup: 

```
CodeDeploy_deployment_group_name_deployment_id
```

Misalnya, jika penerapan dengan ID `10` menyebarkan grup penerapan bernama`alpha-deployments`, grup Penskalaan Otomatis Amazon EC2 yang disediakan akan diberi nama. `CodeDeploy_alpha-deployments_10` Untuk informasi selengkapnya, lihat [Membuat grup penerapan untuk penerapan blue/green EC2/On-premise (konsol)](deployment-groups-create-blue-green.md) dan [GreenFleetProvisioningOption](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GreenFleetProvisioningOption.html).

### Urutan eksekusi peristiwa kait siklus hidup kustom
<a name="integrations-aws-auto-scaling-behaviors-hook-order"></a>

Anda dapat menambahkan kait siklus hidup Anda sendiri ke grup Amazon EC2 Auto Scaling yang digunakan. CodeDeploy Namun, urutan di mana peristiwa hook siklus hidup kustom tersebut dijalankan tidak dapat ditentukan sebelumnya sehubungan dengan peristiwa siklus hidup penerapan CodeDeploy default. Misalnya, jika Anda menambahkan hook siklus hidup khusus yang diberi nama `ReadyForSoftwareInstall` ke grup Penskalaan Otomatis Amazon EC2, Anda tidak dapat mengetahui sebelumnya apakah pengait tersebut akan dijalankan sebelum peristiwa siklus hidup penerapan default pertama, atau setelah peristiwa siklus hidup penerapan default terakhir. CodeDeploy

Untuk mempelajari cara menambahkan kait siklus hidup khusus ke grup Penskalaan Otomatis Amazon EC2[, lihat Menambahkan](https://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html#adding-lifecycle-hooks) kait siklus hidup di Panduan Pengguna *Amazon* EC2 Auto Scaling.

### Peristiwa penskalaan selama penerapan
<a name="integrations-aws-auto-scaling-behaviors-mixed-environment"></a>

Jika peristiwa penskalaan Auto Scaling terjadi saat penerapan sedang berlangsung, instance baru akan diperbarui dengan revisi aplikasi yang sebelumnya digunakan, bukan revisi aplikasi terbaru. Jika penerapan berhasil, instance lama dan instance yang baru diskalakan akan menjadi hosting revisi aplikasi yang berbeda. Untuk memperbarui instance dengan revisi lama, CodeDeploy secara otomatis memulai penerapan tindak lanjut (segera setelah yang pertama) untuk memperbarui instans yang sudah ketinggalan zaman. Jika Anda ingin mengubah perilaku default ini sehingga instance EC2 yang sudah ketinggalan zaman dibiarkan di revisi yang lebih lama, lihat. [Automatic updates to outdated instances](deployment-groups-configure-advanced-options.md#auto-updates-outdated-instances)

Jika Anda ingin menangguhkan proses penskalaan otomatis Amazon EC2 Auto Scaling saat penerapan sedang berlangsung, Anda dapat melakukannya melalui pengaturan dalam `common_functions.sh` skrip yang digunakan untuk penyeimbangan beban dengan. CodeDeploy Jika`HANDLE_PROCS=true`, peristiwa Auto Scaling berikut ditangguhkan secara otomatis selama proses penerapan: 
+ AZRebalance
+ AlarmNotification
+ ScheduledActions
+ ReplaceUnhealthy

**penting**  
Hanya CodeDeployDefault. OneAtATime konfigurasi penerapan mendukung fungsi ini.

Untuk informasi selengkapnya tentang penggunaan `HANDLE_PROCS=true` untuk menghindari masalah penerapan saat menggunakan Amazon EC2 Auto Scaling, [lihat Pemberitahuan penting tentang AutoScaling ](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb#important-notice-about-handling-autoscaling-processes) penanganan proses di aktif. [aws-codedeploy-samples](https://github.com/awslabs/aws-codedeploy-samples) GitHub

### Peristiwa skala dalam selama penerapan
<a name="integrations-aws-auto-scaling-behaviors-scale-in"></a>

Jika grup Auto Scaling mulai melakukan penskalaan saat CodeDeploy penerapan sedang berlangsung pada grup Auto Scaling tersebut, kondisi balapan dapat terjadi antara proses penghentian (termasuk peristiwa siklus hidup penerapan penghentian) dan peristiwa siklus hidup lainnya pada instance CodeDeploy penghentian. CodeDeploy Penerapan pada instance tertentu mungkin gagal jika instance dihentikan sebelum semua peristiwa CodeDeploy siklus hidup selesai. Selain itu, CodeDeploy penerapan keseluruhan mungkin gagal atau tidak, tergantung pada cara Anda menyetel setelan **host sehat Minimum** dalam konfigurasi penerapan Anda.

### Urutan acara dalam skrip AWS CloudFormation cfn-init
<a name="integrations-aws-auto-scaling-behaviors-event-order"></a>

Jika Anda menggunakan `cfn-init` (or`cloud-init`) untuk menjalankan skrip pada instance berbasis Linux yang baru disediakan, penerapan Anda mungkin gagal kecuali jika Anda benar-benar mengontrol urutan peristiwa yang terjadi setelah instance dimulai.

Pesanan itu harus:

1. Instance yang baru disediakan dimulai.

1. Semua skrip `cfn-init` bootstrap berjalan hingga selesai.

1.  CodeDeploy Agen mulai.

1. Revisi aplikasi terbaru diterapkan ke instance.

Jika urutan peristiwa tidak dikontrol dengan hati-hati, CodeDeploy agen mungkin memulai penerapan sebelum semua skrip selesai berjalan. 

Untuk mengontrol urutan peristiwa, gunakan salah satu praktik terbaik ini: 
+ Instal CodeDeploy agen melalui `cfn-init` skrip, letakkan setelah semua skrip lainnya.
+ Sertakan CodeDeploy agen dalam AMI khusus dan gunakan `cfn-init` skrip untuk memulainya, menempatkannya setelah semua skrip lainnya.

Untuk informasi tentang penggunaan`cfn-init`, lihat [cfn-init](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html) di *AWS CloudFormation Panduan Pengguna*.

## Menggunakan AMI khusus dengan CodeDeploy dan Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling-custom-ami"></a>

Anda memiliki dua opsi untuk menentukan AMI dasar yang akan digunakan saat instans Amazon EC2 baru diluncurkan di grup Penskalaan Otomatis Amazon EC2:
+ Anda dapat menentukan AMI kustom dasar yang sudah menginstal CodeDeploy agen. Karena agen sudah diinstal, opsi ini meluncurkan instans Amazon EC2 baru lebih cepat daripada opsi lainnya. Namun, opsi ini memberikan kemungkinan lebih besar bahwa penerapan awal instans Amazon EC2 akan gagal, terutama jika agen CodeDeploy kedaluwarsa. Jika Anda memilih opsi ini, kami sarankan Anda memperbarui CodeDeploy agen secara teratur di AMI kustom dasar Anda.
+ Anda dapat menentukan AMI dasar yang tidak menginstal CodeDeploy agen dan menginstal agen karena setiap instans baru diluncurkan di grup Amazon EC2 Auto Scaling. Meskipun opsi ini meluncurkan instans Amazon EC2 baru lebih lambat daripada opsi lainnya, opsi ini memberikan kemungkinan lebih besar bahwa penerapan awal instans akan berhasil. Opsi ini menggunakan versi terbaru dari CodeDeploy agen.

# Integrasi CodeDeploy dengan Elastic Load Balancing
<a name="integrations-aws-elastic-load-balancing"></a>

Selama CodeDeploy penerapan, penyeimbang beban mencegah lalu lintas internet dialihkan ke instance ketika mereka tidak siap, saat ini sedang digunakan, atau tidak lagi diperlukan sebagai bagian dari lingkungan. Peran yang tepat yang dimainkan penyeimbang beban, bagaimanapun, tergantung pada apakah itu digunakan dalam blue/green penerapan atau penerapan di tempat.

**catatan**  
Penggunaan penyeimbang beban Elastic Load Balancing adalah wajib dalam blue/green penerapan dan opsional dalam penerapan di tempat.

## Jenis Elastic Load Balancing
<a name="integrations-aws-elastic-load-balancing-types"></a>

Elastic Load Balancing menyediakan tiga jenis load balancer yang dapat digunakan dalam CodeDeploy penerapan: Classic Load Balancer, Application Load Balancers, dan Network Load Balancer.

Classic Load Balancer  
Rute dan load balances baik di transport layer (TCP/SSL) or the application layer (HTTP/HTTPS). Ini mendukung VPC.  
Classic Load Balancer tidak didukung dengan penerapan Amazon ECS.

Penyeimbang Beban Aplikasi  
Rute dan load balances pada layer aplikasi (HTTP/HTTPS) dan mendukung routing berbasis jalur. Ini dapat merutekan permintaan ke port pada setiap instans EC2 atau instance kontainer di cloud pribadi virtual (VPC) Anda.  
 Grup target Application Load Balancer harus memiliki tipe target `instance` untuk penerapan pada instans EC2, dan untuk penerapan Fargate. `IP` Untuk informasi selengkapnya, lihat [Jenis target](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-type). 

Penyeimbang Beban Jaringan  
Rute dan load balances pada lapisan transport (TCP/UDP Layer-4) berdasarkan informasi alamat yang diekstrak dari header paket TCP, bukan dari konten paket. Network Load Balancer dapat menangani rentetan lalu lintas, mempertahankan IP sumber klien, dan menggunakan IP tetap untuk masa aktif load balancer. 

Untuk mempelajari lebih lanjut tentang penyeimbang beban Elastic Load Balancing, lihat topik berikut:
+ [Apa itu Penyeimbangan Beban Elastis?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [Apa itu Classic Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/introduction.html)
+ [Apa itu Penyeimbang Beban Aplikasi?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
+ [Apa itu Penyeimbang Beban Jaringan?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)

## Deployment Biru/Hijau
<a name="integrations-aws-elastic-load-balancing-blue-green"></a>

Mengalihkan lalu lintas instans di belakang penyeimbang beban Elastic Load Balancing sangat penting untuk penerapan. CodeDeploy blue/green 

Selama blue/green penerapan, penyeimbang beban memungkinkan lalu lintas dialihkan ke instance baru dalam grup penyebaran tempat revisi aplikasi terbaru telah digunakan (lingkungan pengganti), sesuai dengan aturan yang Anda tentukan, dan kemudian memblokir lalu lintas dari contoh lama di mana revisi aplikasi sebelumnya berjalan (lingkungan asli).

Setelah instance di lingkungan pengganti terdaftar dengan satu atau lebih penyeimbang beban, instance dari lingkungan asli dideregistrasi dan, jika Anda mau, dihentikan.

Untuk blue/green penerapan, Anda dapat menentukan satu atau beberapa Classic Load Balancer, grup target Application Load Balancer, atau grup target Network Load Balancer di grup penyebaran Anda. Anda menggunakan CodeDeploy konsol atau AWS CLI menambahkan penyeimbang beban ke grup penerapan.

Untuk informasi selengkapnya tentang penyeimbang beban dalam blue/green penerapan, lihat topik berikut:
+ [Siapkan penyeimbang beban di Elastic Load Balancing untuk penerapan Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md)
+ [Buat aplikasi untuk blue/green penyebaran (konsol)](applications-create-blue-green.md)
+ [Membuat grup penerapan untuk penerapan blue/green EC2/On-premise (konsol)](deployment-groups-create-blue-green.md)

## Penerapan di tempat
<a name="integrations-aws-elastic-load-balancing-in-place"></a>

Selama penerapan di tempat, penyeimbang beban mencegah lalu lintas internet dirutekan ke instance saat sedang digunakan, dan kemudian membuat instance tersedia untuk lalu lintas lagi setelah penerapan ke instance itu selesai.

Jika penyeimbang beban tidak digunakan selama penerapan di tempat, lalu lintas internet mungkin masih diarahkan ke instance selama proses penerapan. Akibatnya, pelanggan Anda mungkin mengalami aplikasi web yang rusak, tidak lengkap, atau ketinggalan zaman. Saat Anda menggunakan penyeimbang beban Elastic Load Balancing dengan penerapan di tempat, instance dalam grup penerapan dideregistrasi dari penyeimbang beban, diperbarui dengan revisi aplikasi terbaru, dan kemudian didaftarkan ulang dengan penyeimbang beban sebagai bagian dari grup penyebaran yang sama setelah penerapan berhasil. CodeDeploy akan menunggu hingga 1 jam agar instance menjadi sehat di belakang penyeimbang beban. Jika instance tidak ditandai sebagai sehat oleh penyeimbang beban selama masa tunggu, CodeDeploy pindah ke instance berikutnya atau gagal penerapan, berdasarkan konfigurasi penerapan.

Untuk penerapan di tempat, Anda dapat menentukan satu atau beberapa Classic Load Balancer, grup target Application Load Balancer, atau grup target Network Load Balancer. Anda dapat menentukan penyeimbang beban sebagai bagian dari konfigurasi grup penyebaran, atau Anda dapat menggunakan skrip yang disediakan oleh CodeDeploy untuk mengimplementasikan penyeimbang beban.

### Tentukan penyeimbang beban penerapan di tempat menggunakan grup penerapan
<a name="integrations-aws-elastic-load-balancing-in-place-deployment-group"></a>

Untuk menambahkan penyeimbang beban ke grup penerapan, Anda menggunakan konsol atau. CodeDeploy AWS CLI Untuk informasi tentang menentukan penyeimbang beban dalam grup penerapan untuk penerapan di tempat, lihat topik berikut:
+ [Buat aplikasi untuk penyebaran di tempat (konsol)](applications-create-in-place.md)
+ [Buat grup penerapan untuk penerapan di tempat (konsol)](deployment-groups-create-in-place.md)
+ [Siapkan penyeimbang beban di Elastic Load Balancing untuk penerapan Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md)

### Tentukan penyeimbang beban penerapan di tempat menggunakan skrip
<a name="integrations-aws-elastic-load-balancing-in-place-script"></a>

Gunakan langkah-langkah dalam prosedur berikut untuk menggunakan skrip siklus hidup penerapan guna menyiapkan penyeimbangan beban untuk penerapan di tempat.
**catatan**  
Anda harus menggunakan CodeDeployDefault. OneAtATime konfigurasi penerapan hanya jika Anda menggunakan skrip untuk menyiapkan penyeimbang beban untuk penerapan di tempat. Proses bersamaan tidak didukung, dan. CodeDeployDefault OneAtATime pengaturan memastikan eksekusi serial skrip. Untuk informasi selengkapnya tentang konfigurasi penerapan, lihat. [Bekerja dengan konfigurasi penerapan di CodeDeploy](deployment-configurations.md)

Dalam repositori CodeDeploy Sampel aktif GitHub, kami memberikan instruksi dan sampel yang dapat Anda sesuaikan untuk menggunakan penyeimbang beban CodeDeploy Elastic Load Balancing. Repositori ini mencakup tiga contoh skrip—`register_with_elb.sh`,`deregister_from_elb.sh`, dan `common_functions.sh` —yang menyediakan semua kode yang Anda butuhkan untuk memulai. Cukup edit placeholder di ketiga skrip ini, dan kemudian referensi skrip ini dari file Anda. `appspec.yml`

Untuk menyiapkan penerapan di tempat dengan instans Amazon CodeDeploy EC2 yang terdaftar dengan penyeimbang beban Elastic Load Balancing, lakukan hal berikut:

1. Unduh sampel untuk jenis penyeimbang beban yang ingin Anda gunakan untuk penerapan di tempat:
   + [Classic Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb)
   + [Application Load Balancer [atau Network Load](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2) Balancer (skrip yang sama dapat digunakan untuk kedua jenis)](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2)

1. Pastikan setiap instans Amazon EC2 target Anda telah diinstal. AWS CLI 

1. Pastikan setiap instans Amazon EC2 target Anda memiliki profil instans IAM yang dilampirkan dengan, setidaknya, izin elasticloadbalancing: \$1 dan autoscaling: \$1.

1. Sertakan dalam direktori kode sumber aplikasi Anda skrip peristiwa siklus hidup penerapan (`register_with_elb.sh`,, `deregister_from_elb.sh` dan). `common_functions.sh`

1. Dalam `appspec.yml` untuk revisi aplikasi, berikan instruksi CodeDeploy untuk menjalankan `register_with_elb.sh` skrip selama **ApplicationStart**acara dan `deregister_from_elb.sh` skrip selama **ApplicationStop**acara berlangsung.

1. Jika instans merupakan bagian dari grup Amazon EC2 Auto Scaling, Anda dapat melewati langkah ini.

   Dalam `common_functions.sh` naskah:
   + Jika Anda menggunakan [Classic Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb), tentukan nama penyeimbang beban Elastic Load Balancing `ELB_LIST=""` di, dan buat perubahan apa pun yang Anda perlukan pada pengaturan penerapan lain dalam file.
   + Jika Anda menggunakan [Application Load Balancer [atau Network Load](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2)](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2) Balancer, tentukan nama nama grup target Elastic Load Balancing, dan buat perubahan apa pun yang Anda perlukan pada pengaturan penyebaran lain `TARGET_GROUP_LIST=""` dalam file.

1. Bundel kode sumber aplikasi Anda, skrip peristiwa siklus hidup penerapan`appspec.yml`, dan penerapan ke dalam revisi aplikasi, lalu unggah revisi tersebut. Terapkan revisi ke instans Amazon EC2. Selama penerapan, skrip peristiwa siklus hidup penerapan akan membatalkan pendaftaran instans Amazon EC2 dengan penyeimbang beban, menunggu koneksi terkuras, dan kemudian mendaftarkan ulang instans Amazon EC2 dengan penyeimbang beban setelah penerapan selesai.

# Integrasi dengan produk dan layanan mitra
<a name="integrations-partners"></a>

CodeDeploy memiliki integrasi bawaan untuk produk dan layanan mitra berikut:


|  |  | 
| --- |--- |
| Ansible |  Jika Anda sudah memiliki satu set buku pedoman [Ansible](http://www.ansible.com), tetapi hanya perlu di suatu tempat untuk menjalankannya, templat untuk Ansible dan CodeDeploy menunjukkan bagaimana beberapa kait penerapan sederhana dapat memastikan Ansible tersedia di instance penerapan lokal dan menjalankan buku pedoman. Jika Anda sudah memiliki proses untuk membangun dan memelihara inventaris Anda, ada juga modul Ansible yang dapat Anda gunakan untuk menginstal dan menjalankan CodeDeploy agen. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| Atlassian — Bambu dan Bitbucket |   CodeDeploy Tugas untuk [Bamboo](https://www.atlassian.com/software/bamboo/) mengompres direktori yang berisi AppSpec file ke dalam file.zip, mengunggah file ke Amazon S3, dan kemudian memulai penerapan sesuai dengan konfigurasi yang disediakan dalam aplikasi. CodeDeploy  Dukungan Bitbucket Atlassian CodeDeploy memungkinkan Anda untuk mendorong kode ke instans Amazon EC2 langsung dari UI Bitbucket, sesuai permintaan, ke grup penyebaran Anda. Ini berarti bahwa setelah Anda memperbarui kode di repositori Bitbucket, Anda tidak perlu masuk ke platform integrasi berkelanjutan (CI) atau instans Amazon EC2 untuk menjalankan proses penerapan manual.  Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| Koki |  AWS menyediakan dua sampel template untuk mengintegrasikan [Chef](https://www.chef.io/) dan CodeDeploy. Yang pertama adalah buku masak Chef yang menginstal dan memulai agen. CodeDeploy Ini memungkinkan Anda untuk terus mengelola infrastruktur host Anda dengan Chef saat menggunakan CodeDeploy. Contoh template kedua menunjukkan bagaimana menggunakan CodeDeploy untuk mengatur menjalankan buku masak dan resep dengan chef-solo pada setiap node. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| CircleCI |  [CircleCI](https://circleci.com/) menyediakan pengujian otomatis dan integrasi berkelanjutan dan toolset penerapan. Setelah Anda membuat peran IAM AWS untuk digunakan dengan CircleCI dan mengonfigurasi parameter penerapan di file circle.yl, Anda dapat menggunakan CircleCI with CodeDeploy untuk membuat revisi aplikasi, mengunggahnya ke bucket Amazon S3, lalu memulai dan memantau penerapan Anda. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| CloudBees |  Anda dapat menggunakan plugin CodeDeploy Jenkins, tersedia di [CloudBees](https://www.cloudbees.com/)DEV @cloud, sebagai tindakan pasca-build. Misalnya, di akhir pipeline pengiriman berkelanjutan, Anda dapat menggunakannya untuk menyebarkan revisi aplikasi ke armada server Anda. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| Kodeship |  Anda dapat menggunakan [Codeship](https://codeship.com/) untuk menyebarkan revisi aplikasi melalui. CodeDeploy Anda dapat menggunakan Codeship UI untuk menambahkan CodeDeploy ke pipeline penerapan untuk cabang. Pelajari lebih lanjut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| GitHub |  Anda dapat menggunakan CodeDeploy untuk menyebarkan revisi aplikasi dari [GitHub](http://www.github.com)repositori. Anda juga dapat memicu penerapan dari GitHub repositori setiap kali kode sumber di repositori itu diubah. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **HashiCorp Konsul**  |  Anda dapat menggunakan alat HashiCorp Konsul open-source untuk membantu memastikan kesehatan dan stabilitas lingkungan aplikasi Anda saat Anda menerapkan aplikasi. CodeDeploy Anda dapat menggunakan Konsul untuk mendaftarkan aplikasi yang akan ditemukan selama penerapan, menempatkan aplikasi dan node dalam mode pemeliharaan untuk menghilangkannya dari penerapan, dan menghentikan penerapan jika instance target menjadi tidak sehat. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| Jenkins |  Plugin CodeDeploy [Jenkins](http://jenkins-ci.org/) menyediakan langkah pasca-build untuk proyek Jenkins Anda. Setelah build berhasil, ia meritsleting ruang kerja, mengunggah ke Amazon S3, dan memulai penerapan baru. Pelajari lebih lanjut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| Laboratorium Boneka |  AWS menyediakan contoh template untuk [Wayang](https://puppetlabs.com/) dan CodeDeploy. Yang pertama adalah modul Puppet yang menginstal dan memulai agen. CodeDeploy Ini memungkinkan Anda untuk terus mengelola infrastruktur host Anda dengan Puppet saat menggunakan CodeDeploy. Contoh template kedua menunjukkan bagaimana menggunakan CodeDeploy untuk mengatur menjalankan modul dan memanifestasikan dengan boneka tanpa master pada setiap node. Pelajari lebih lanjut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| SaltStack |  Anda dapat mengintegrasikan [SaltStack](https://saltproject.io/index.html)infrastruktur dengan CodeDeploy. Anda dapat menggunakan CodeDeploy modul untuk menginstal dan menjalankan CodeDeploy agen pada antek-antek Anda atau, dengan beberapa kait penyebaran sederhana, Anda dapat menggunakan CodeDeploy untuk mengatur jalannya Salt States Anda. Pelajari lebih lanjut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **TeamCity**  |  Anda dapat menggunakan plugin CodeDeploy Runner untuk menyebarkan aplikasi langsung dari. TeamCity Plugin menambahkan langkah TeamCity build yang menyiapkan dan mengunggah revisi aplikasi ke bucket Amazon S3, mendaftarkan revisi dalam CodeDeploy aplikasi, membuat penerapan dan, jika Anda mau, menunggu CodeDeploy penerapan selesai. Pelajari lebih lanjut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 
| Travis CI |  Anda dapat mengonfigurasi [Travis CI](https://travis-ci.com/) untuk memicu penerapan CodeDeploy setelah build berhasil. Pelajari lebih lanjut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [GitHub](integrations-partners-github.md)

# Integrasi dengan CodeDeploy GitHub
<a name="integrations-partners-github"></a>

CodeDeploy mendukung [GitHub](https://github.com/about), hosting kode berbasis web dan layanan berbagi. CodeDeploy dapat menerapkan revisi aplikasi yang disimpan di GitHub repositori atau bucket Amazon S3 ke instance. CodeDeploy mendukung GitHub untuk penerapan EC2/On-premise saja.

**Topics**
+ [Menyebarkan CodeDeploy revisi dari GitHub](#github-deployment-steps)
+ [GitHub perilaku dengan CodeDeploy](#github-behaviors)

## Menyebarkan CodeDeploy revisi dari GitHub
<a name="github-deployment-steps"></a>

Untuk menerapkan revisi aplikasi dari GitHub repositori ke instance:

1. Buat revisi yang kompatibel dengan CodeDeploy dan jenis instans Amazon EC2 yang akan Anda gunakan.

   Untuk membuat revisi yang kompatibel, ikuti petunjuk di [Rencanakan revisi untuk CodeDeploy](application-revisions-plan.md) dan[Tambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy](application-revisions-appspec-file.md). 

1. Gunakan GitHub akun untuk menambahkan revisi Anda ke repositori GitHub .

   Untuk membuat GitHub akun, lihat [Bergabung GitHub](https://github.com/join). Untuk membuat GitHub repositori, lihat [Membuat repo](https://help.github.com/articles/create-a-repo/).

1. Gunakan halaman **Create deployment** di CodeDeploy konsol atau AWS CLI **create-deployment** perintah untuk menyebarkan revisi Anda dari GitHub repositori Anda untuk menargetkan instance yang dikonfigurasi untuk digunakan dalam penerapan. CodeDeploy

   Jika Anda ingin memanggil **create-deployment** perintah, Anda harus terlebih dahulu menggunakan halaman **Create deployment** konsol untuk memberikan CodeDeploy izin untuk berinteraksi dengan GitHub atas nama GitHub akun pilihan Anda untuk aplikasi yang ditentukan. Anda hanya perlu melakukan ini sekali per aplikasi.

   Untuk mempelajari cara menggunakan halaman **Create deployment** untuk menyebarkan dari GitHub repositori, lihat. [Buat penerapan dengan CodeDeploy](deployments-create.md)

   Untuk mempelajari cara memanggil **create-deployment** perintah untuk menyebarkan dari GitHub repositori, lihat. [Membuat penerapan Platform Komputasi EC2/Lokal (CLI)](deployments-create-cli.md)

   Untuk mempelajari cara menyiapkan instance untuk digunakan dalam CodeDeploy penerapan, lihat. [Bekerja dengan instance untuk CodeDeploy](instances.md)

Untuk informasi selengkapnya, lihat [Tutorial: Gunakan CodeDeploy untuk menyebarkan aplikasi dari GitHub](tutorials-github.md).

## GitHub perilaku dengan CodeDeploy
<a name="github-behaviors"></a>

**Topics**
+ [GitHub otentikasi dengan aplikasi di CodeDeploy](#behaviors-authentication)
+ [CodeDeploy interaksi dengan GitHub repositori pribadi dan publik](#behaviors-interactions-private-and-public)
+ [CodeDeploy interaksi dengan repositori yang dikelola organisasi GitHub](#behaviors-interactions-organization-managed)
+ [Secara otomatis menyebarkan dari CodePipeline dengan CodeDeploy](#behaviors-deploy-automatically)

### GitHub otentikasi dengan aplikasi di CodeDeploy
<a name="behaviors-authentication"></a>

Setelah Anda memberikan CodeDeploy izin untuk berinteraksi GitHub, hubungan antara GitHub akun dan aplikasi itu disimpan CodeDeploy. Anda dapat menautkan aplikasi ke GitHub akun lain. Anda juga dapat mencabut izin CodeDeploy untuk berinteraksi. GitHub

**Untuk menautkan GitHub akun ke aplikasi di CodeDeploy**

1. Masuk ke Konsol Manajemen AWS dan buka CodeDeploy konsol di [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**catatan**  
Masuk dengan pengguna yang sama dengan yang Anda atur[Memulai dengan CodeDeploy](getting-started-codedeploy.md).

1. **Di panel navigasi, perluas **Deploy**, lalu pilih Applications.**

1. Pilih aplikasi yang ingin Anda tautkan ke GitHub akun lain.

1. Jika aplikasi Anda tidak memiliki grup penyebaran, pilih **Buat grup penerapan** untuk membuatnya. Untuk informasi selengkapnya, lihat [Buat grup penerapan dengan CodeDeploy](deployment-groups-create.md). Grup penyebaran diperlukan untuk memilih **Buat penerapan di langkah** berikutnya.

1.  Dari **Deployment, pilih **Create** deployment**. 
**catatan**  
Anda tidak perlu membuat penerapan baru. Saat ini ini satu-satunya cara untuk menautkan GitHub akun yang berbeda ke aplikasi.

1.  Dalam **pengaturan Deployment**, untuk **jenis Revisi**, pilih **Aplikasi saya disimpan di**. GitHub 

1. Lakukan salah satu tindakan berikut:
   + Untuk membuat koneksi untuk AWS CodeDeploy aplikasi ke GitHub akun, keluar dari GitHub tab browser web terpisah. Dalam **nama GitHub token**, ketikkan nama untuk mengidentifikasi koneksi ini, lalu pilih **Connect to GitHub**. Halaman web meminta Anda untuk mengizinkan CodeDeploy untuk berinteraksi dengan GitHub aplikasi Anda. Lanjutkan ke langkah 10.
   + Untuk menggunakan koneksi yang telah Anda buat, dalam **nama GitHub token**, pilih namanya, lalu pilih **Connect to GitHub**. Lanjutkan ke langkah 8.
   + Untuk membuat koneksi ke GitHub akun lain, keluar dari GitHub tab browser web terpisah. Dalam **nama GitHub token**, ketikkan nama untuk mengidentifikasi koneksi, lalu pilih **Connect to GitHub**. Halaman web meminta Anda untuk mengizinkan CodeDeploy untuk berinteraksi dengan GitHub aplikasi Anda. Lanjutkan ke langkah 10.

1. Jika Anda belum masuk GitHub, ikuti petunjuk **di halaman Masuk** untuk masuk dengan GitHub akun yang ingin Anda tautkan aplikasi.

1. Pilih **Otorisasi aplikasi**. GitHub memberikan CodeDeploy izin untuk berinteraksi dengan GitHub atas nama GitHub akun yang masuk untuk aplikasi yang dipilih. 

1. Jika Anda tidak ingin membuat penerapan, pilih **Batal**.

**Untuk mencabut izin untuk berinteraksi CodeDeploy dengan GitHub**

1. Masuk [GitHub ](https://github.com/dashboard)menggunakan kredensil untuk GitHub akun tempat Anda ingin mencabut izinnya. AWS CodeDeploy 

1. Buka halaman GitHub [Aplikasi](https://github.com/settings/applications), cari **CodeDeploy**di daftar aplikasi resmi, dan kemudian ikuti GitHub prosedur untuk mencabut otorisasi untuk suatu aplikasi.

### CodeDeploy interaksi dengan GitHub repositori pribadi dan publik
<a name="behaviors-interactions-private-and-public"></a>

CodeDeploy mendukung penyebaran aplikasi dari GitHub repositori pribadi dan publik. Ketika Anda memberikan CodeDeploy izin untuk mengakses GitHub atas nama Anda, CodeDeploy akan memiliki akses baca-tulis ke semua GitHub repositori pribadi yang memiliki akses akun Anda GitHub . Namun, CodeDeploy hanya membaca dari GitHub repositori. Itu tidak akan menulis ke salah satu GitHub repositori pribadi Anda.

### CodeDeploy interaksi dengan repositori yang dikelola organisasi GitHub
<a name="behaviors-interactions-organization-managed"></a>

Secara default, GitHub repositori yang dikelola oleh organisasi (sebagai lawan dari repositori pribadi atau publik akun Anda sendiri) tidak memberikan akses ke aplikasi pihak ketiga, termasuk. CodeDeploy Penerapan Anda akan gagal jika pembatasan aplikasi pihak ketiga organisasi diaktifkan GitHub dan Anda mencoba menerapkan kode dari repositorinya GitHub . Ada dua cara untuk mengatasi masalah ini. 
+ Sebagai anggota organisasi, Anda dapat meminta pemilik organisasi untuk menyetujui akses ke CodeDeploy. Langkah-langkah untuk meminta akses ini tergantung pada apakah Anda telah mengotorisasi CodeDeploy akun pribadi Anda:
  + Jika Anda memiliki akses resmi ke CodeDeploy akun Anda, lihat [Meminta persetujuan organisasi untuk aplikasi resmi Anda](https://help.github.com/articles/requesting-organization-approval-for-your-authorized-applications/).
  + Jika Anda belum mengotorisasi akses ke CodeDeploy akun Anda, lihat [Meminta persetujuan organisasi untuk aplikasi pihak ketiga](https://help.github.com/articles/requesting-organization-approval-for-third-party-applications/).
+ Pemilik organisasi dapat menonaktifkan semua pembatasan aplikasi pihak ketiga untuk organisasi. Untuk selengkapnya, lihat [Menonaktifkan pembatasan aplikasi pihak ketiga untuk organisasi Anda](https://help.github.com/articles/disabling-third-party-application-restrictions-for-your-organization/).

Untuk informasi selengkapnya, lihat [Tentang pembatasan aplikasi pihak ketiga](https://help.github.com/articles/about-third-party-application-restrictions/).

### Secara otomatis menyebarkan dari CodePipeline dengan CodeDeploy
<a name="behaviors-deploy-automatically"></a>

Anda dapat memicu penyebaran dari CodePipeline setiap kali kode sumber berubah. Untuk informasi lebih lanjut, lihat. [CodePipeline](https://aws.amazon.com/codepipeline/)

# Contoh integrasi dari komunitas
<a name="integrations-community"></a>

Bagian berikut menyediakan tautan ke unggahan blog, artikel, dan contoh yang disediakan komunitas.

**catatan**  
Tautan ini disediakan untuk kepentingan informasi saja, dan tidak boleh dianggap sebagai daftar komprehensif atau dukungan atas konten contoh. AWS tidak bertanggung jawab atas konten atau akurasi dari konten eksternal. 

## Unggahan blog
<a name="integrations-community-blogposts"></a>
+ [Mengotomatiskan CodeDeploy penyediaan di CloudFormation](http://www.stelligent.com/cloud/automating-aws-codedeploy-provisioning-in-cloudformation/)

  Pelajari cara menyediakan penerapan aplikasi CodeDeploy dengan menggunakan CloudFormation.

  *Telah Terbit Januari 2016*
+ [AWS Toolkit for Eclipse Integrasi dengan CodeDeploy (Bagian 1)](https://aws.amazon.com/blogs/developer/aws-toolkit-for-eclipse-integration-with-aws-codedeploy-part-1/)

  [AWS Toolkit for Eclipse Integrasi dengan CodeDeploy (Bagian 2)](https://aws.amazon.com/blogs/developer/aws-toolkit-for-eclipse-integration-with-aws-codedeploy-part-2/)

  [AWS Toolkit for Eclipse Integrasi dengan CodeDeploy (Bagian 3)](https://aws.amazon.com/blogs/developer/aws-toolkit-for-eclipse-integration-with-aws-codedeploy-part-3/)

  Pelajari bagaimana pengembang Java dapat menggunakan CodeDeploy plugin untuk Eclipse untuk menyebarkan aplikasi web AWS langsung dari lingkungan pengembangan Eclipse.

  *Diterbitkan Februari 2015*
+ [Secara otomatis menyebarkan dari GitHub menggunakan CodeDeploy](https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/)

  Pelajari cara penerapan otomatis dari GitHub hingga CodeDeploy dapat digunakan untuk membuat end-to-end pipeline — mulai dari kontrol sumber hingga lingkungan pengujian atau produksi Anda. 

  *Telah Terbit Desember 2014*