

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

# Bekerja dengan revisi aplikasi untuk CodeDeploy
<a name="application-revisions"></a>

Dalam CodeDeploy, revisi berisi versi file sumber yang CodeDeploy akan disebarkan ke instance atau skrip Anda CodeDeploy akan berjalan pada instance Anda. 

Anda merencanakan revisi, menambahkan AppSpec file ke revisi, dan kemudian mendorong revisi ke Amazon S3 atau. GitHub Setelah Anda mendorong revisi, Anda dapat menerapkannya.

**Topics**
+ [Rencanakan revisi](application-revisions-plan.md)
+ [Tambahkan AppSpec File](application-revisions-appspec-file.md)
+ [Pilih jenis repositori](application-revisions-repository-type.md)
+ [Dorong revisi](application-revisions-push.md)
+ [Lihat detail revisi aplikasi](application-revisions-view-details.md)
+ [Daftarkan revisi aplikasi](application-revisions-register.md)

# Rencanakan revisi untuk CodeDeploy
<a name="application-revisions-plan"></a>

Perencanaan yang baik membuat penerapan revisi menjadi lebih mudah.

Untuk penerapan ke AWS Lambda atau platform komputasi Amazon ECS, revisi sama dengan file. AppSpec Informasi berikut tidak berlaku. Untuk informasi selengkapnya, silakan lihat [Tambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy](application-revisions-appspec-file.md) 

Untuk penerapan ke platform komputasi EC2 /On-Premises, mulailah dengan membuat direktori root kosong (folder) di mesin pengembangan. Di sinilah Anda akan menyimpan file sumber (seperti file teks dan biner, executable, paket, dan sebagainya) untuk digunakan ke instance atau skrip yang akan dijalankan pada instance.

Misalnya, di folder `/tmp/` root di Linux, macOS, atau Unix atau folder `c:\temp` root di Windows:

```
/tmp/ or c:\temp (root folder)
  |--content (subfolder)
  |    |--myTextFile.txt
  |    |--mySourceFile.rb
  |    |--myExecutableFile.exe
  |    |--myInstallerFile.msi
  |    |--myPackage.rpm
  |    |--myImageFile.png
  |--scripts (subfolder)
  |    |--myShellScript.sh
  |    |--myBatchScript.bat 
  |    |--myPowerShellScript.ps1 
  |--appspec.yml
```

Folder root juga harus menyertakan file spesifikasi aplikasi (AppSpec file), seperti yang ditunjukkan di sini. Untuk informasi selengkapnya, lihat [Tambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy](application-revisions-appspec-file.md).

# Tambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy
<a name="application-revisions-appspec-file"></a>

Topik ini menunjukkan cara menambahkan AppSpec file ke penerapan Anda. Ini juga mencakup template untuk membuat AppSpec file untuk penyebaran AWS Lambda dan EC2/On-premise.

**Topics**
+ [Menambahkan AppSpec file untuk penyebaran Amazon ECS](#add-appspec-file-ecs)
+ [Menambahkan AppSpec file untuk penyebaran AWS Lambda](#add-appspec-file-lambda)
+ [Menambahkan AppSpec file untuk penerapan EC2/On-premise](#add-appspec-file-server)

## Menambahkan AppSpec file untuk penyebaran Amazon ECS
<a name="add-appspec-file-ecs"></a>

Untuk penerapan ke platform komputasi Amazon ECS:
+  AppSpec File tersebut menentukan definisi tugas Amazon ECS yang digunakan untuk penerapan, nama kontainer, dan pemetaan port yang digunakan untuk merutekan lalu lintas, dan fungsi Lambda opsional yang dijalankan setelah peristiwa siklus hidup penerapan.
+ Revisi sama dengan AppSpec file.
+  AppSpec File dapat ditulis menggunakan JSON atau YAMAL.
+  AppSpec File dapat disimpan sebagai file teks atau dimasukkan langsung ke konsol saat Anda membuat penerapan. Untuk informasi selengkapnya, lihat [Membuat penerapan Platform Komputasi Amazon ECS (konsol)](deployments-create-console-ecs.md).

**Untuk membuat AppSpec file**

1. Salin template JSON atau YAMAL ke editor teks atau ke AppSpec editor di konsol.

1. Ubah templat sesuai kebutuhan.

1. Gunakan validator JSON atau YAMAL untuk memvalidasi file Anda. AppSpec Jika Anda menggunakan AppSpec editor, file divalidasi saat Anda memilih **Buat penerapan**.

1. Jika Anda menggunakan editor teks, simpan file. Jika Anda menggunakan file AWS CLI untuk membuat penerapan, rujuk AppSpec file jika ada di hard drive Anda atau di bucket Amazon S3. Jika Anda menggunakan konsol, Anda harus mendorong AppSpec file Anda ke Amazon S3.

### Template AppSpec file YAMAL untuk penerapan Amazon ECS dengan instruksi
<a name="app-spec-template-yaml-ecs"></a>

Berikut ini adalah template YAMAL AppSpec file untuk penyebaran Amazon ECS dengan semua opsi yang tersedia. Untuk informasi tentang peristiwa siklus hidup yang akan digunakan di `hooks` bagian ini, lihat. [AppSpec Bagian 'kait' untuk penerapan Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs)

```
# This is an appspec.yml template file for use with an Amazon ECS deployment in CodeDeploy.
# The lines in this template that start with the hashtag are 
#   comments that can be safely left in the file or 
#   ignored.
# For help completing this file, see the "AppSpec File Reference" in the  
#   "CodeDeploy User Guide" at
#   https://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html
version: 0.0
# In the Resources section, you must specify the following: the Amazon ECS service, task definition name, 
# and the name and port of the load balancer to route traffic,
# target version, and (optional) the current version of your AWS Lambda function. 
Resources:
  - TargetService:
      Type: AWS::ECS::Service
      Properties:
        TaskDefinition: "" # Specify the ARN of your task definition (arn:aws:ecs:region:account-id:task-definition/task-definition-family-name:task-definition-revision-number)
        LoadBalancerInfo: 
          ContainerName: "" # Specify the name of your Amazon ECS application's container
          ContainerPort: "" # Specify the port for your container where traffic reroutes 
# Optional properties
        PlatformVersion: "" # Specify the version of your Amazon ECS Service
        NetworkConfiguration:
          AwsvpcConfiguration:
            Subnets: ["",""] # Specify one or more comma-separated subnets in your Amazon ECS service
            SecurityGroups: ["",""] # Specify one or more comma-separated security groups in your Amazon ECS service
            AssignPublicIp: "" # Specify "ENABLED" or "DISABLED"             
# (Optional) In the Hooks section, specify a validation Lambda function to run during 
# a lifecycle event. 
Hooks:
# Hooks for Amazon ECS deployments are:
    - BeforeInstall: "" # Specify a Lambda function name or ARN
    - AfterInstall: "" # Specify a Lambda function name or ARN
    - AfterAllowTestTraffic: "" # Specify a Lambda function name or ARN
    - BeforeAllowTraffic: "" # Specify a Lambda function name or ARN
    - AfterAllowTraffic: "" # Specify a Lambda function name or ARN
```

### AppSpec File JSON untuk template penyebaran Amazon ECS
<a name="app-spec-template-json-ecs"></a>

Berikut ini adalah template JSON untuk AppSpec file untuk penyebaran Amazon ECS dengan semua opsi yang tersedia. Untuk instruksi template, lihat komentar dalam versi YAMAL di bagian sebelumnya. Untuk informasi tentang peristiwa siklus hidup yang akan digunakan di `hooks` bagian ini, lihat. [AppSpec Bagian 'kait' untuk penerapan Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs)

```
{
	"version": 0.0,
	"Resources": [
		{
			"TargetService": {
				"Type": "AWS::ECS::Service",
				"Properties": {
    			"TaskDefinition": "",
    			"LoadBalancerInfo": {
    				"ContainerName": "",
    				"ContainerPort":
    			},
    			"PlatformVersion": "",
    			"NetworkConfiguration": {
    				"AwsvpcConfiguration": {
    					"Subnets": [
    						"",
    						""
    					],
    					"SecurityGroups": [
    						"",
    						""
    					],
    					"AssignPublicIp": ""
    				}
    			}
  			}				
			}
		}
	],
	"Hooks": [
		{
			"BeforeInstall": ""
		},
		{
			"AfterInstall": ""
		},
		{
			"AfterAllowTestTraffic": ""
		},
		{
			"BeforeAllowTraffic": ""
		},
		{
			"AfterAllowTraffic": ""
		}
	]
}
```

## Menambahkan AppSpec file untuk penyebaran AWS Lambda
<a name="add-appspec-file-lambda"></a>

Untuk penerapan ke platform komputasi AWS Lambda:
+  AppSpec File berisi instruksi tentang fungsi Lambda yang akan digunakan dan digunakan untuk validasi penerapan.
+ Revisi sama dengan AppSpec file.
+  AppSpec File dapat ditulis menggunakan JSON atau YAMAL.
+  AppSpec File dapat disimpan sebagai file teks atau dimasukkan langsung ke AppSpec editor konsol saat membuat penerapan. Untuk informasi selengkapnya, lihat [Membuat penerapan AWS Lambda Compute Platform (konsol)](deployments-create-console-lambda.md).

Untuk membuat AppSpec file:

1. Salin template JSON atau YAMAL ke editor teks atau ke AppSpec editor di konsol.

1. Ubah templat sesuai kebutuhan.

1. Gunakan validator JSON atau YAMAL untuk memvalidasi file Anda. AppSpec Jika Anda menggunakan AppSpec editor, file divalidasi saat Anda memilih **Buat penerapan**.

1. Jika Anda menggunakan editor teks, simpan file. Jika Anda menggunakan file AWS CLI untuk membuat penerapan, rujuk AppSpec file jika ada di hard drive Anda atau di bucket Amazon S3. Jika Anda menggunakan konsol, Anda harus mendorong AppSpec file Anda ke Amazon S3.



### Template AppSpec file YAMAL untuk AWS Lambda penerapan dengan instruksi
<a name="app-spec-template-yaml-lambda"></a>

Untuk informasi tentang peristiwa siklus hidup yang akan digunakan di bagian kait, lihat. [AppSpec Bagian 'kait' untuk penerapan AWS Lambda](reference-appspec-file-structure-hooks.md#appspec-hooks-lambda)

```
# This is an appspec.yml template file for use with an AWS Lambda deployment in CodeDeploy.
# The lines in this template starting with the hashtag symbol are 
#   instructional comments and can be safely left in the file or 
#   ignored.
# For help completing this file, see the "AppSpec File Reference" in the  
#   "CodeDeploy User Guide" at
#   https://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html
version: 0.0
# In the Resources section specify the name, alias, 
# target version, and (optional) the current version of your AWS Lambda function. 
Resources:
  - MyFunction: # Replace "MyFunction" with the name of your Lambda function 
      Type: AWS::Lambda::Function
      Properties:
        Name: "" # Specify the name of your Lambda function
        Alias: "" # Specify the alias for your Lambda function
        CurrentVersion: "" # Specify the current version of your Lambda function
        TargetVersion: "" # Specify the version of your Lambda function to deploy
# (Optional) In the Hooks section, specify a validation Lambda function to run during 
# a lifecycle event. Replace "LifeCycleEvent" with BeforeAllowTraffic
# or AfterAllowTraffic. 
Hooks:
    - LifeCycleEvent: "" # Specify a Lambda validation function between double-quotes.
```

### AppSpec File JSON untuk template AWS Lambda penerapan
<a name="app-spec-template-json-lambda"></a>

Dalam template berikut, ganti MyFunction "" dengan nama AWS Lambda fungsi Anda. Di bagian Hooks opsional, ganti peristiwa siklus hidup dengan atau. BeforeAllowTraffic AfterAllowTraffic

Untuk informasi tentang peristiwa siklus hidup yang akan digunakan di bagian Hooks, lihat. [AppSpec Bagian 'kait' untuk penerapan AWS Lambda](reference-appspec-file-structure-hooks.md#appspec-hooks-lambda)

```
{
 	"version": 0.0,
 	"Resources": [{
 		"MyFunction": {
 			"Type": "AWS::Lambda::Function",
 			"Properties": {
 				"Name": "",
 				"Alias": "",
 				"CurrentVersion": "",
 				"TargetVersion": ""
 			}
 		}
 	}],
 	"Hooks": [{
 			"LifeCycleEvent": ""
 		}
 	]
 }
```

## Menambahkan AppSpec file untuk penerapan EC2/On-premise
<a name="add-appspec-file-server"></a>

Tanpa AppSpec file, CodeDeploy tidak dapat memetakan file sumber dalam revisi aplikasi Anda ke tujuannya atau menjalankan skrip untuk penerapan Anda ke platform komputasi EC2/On-premise,.

Setiap revisi harus berisi hanya satu AppSpec file. 

Untuk menambahkan AppSpec file ke revisi:

1. Salin template ke editor teks.

1. Ubah templat sesuai kebutuhan.

1. Gunakan validator YAMAL untuk memeriksa validitas file Anda. AppSpec 

1. Simpan file seperti `appspec.yml` di direktori root revisi.

1. Jalankan salah satu perintah berikut untuk memverifikasi bahwa Anda telah menempatkan AppSpec file Anda di direktori root:
   + Untuk Linux, macOS, atau Unix:

     ```
     find /path/to/root/directory -name appspec.yml
     ```

     Tidak akan ada output jika AppSpec file tidak ditemukan di sana.
   + Untuk Windows:

     ```
     dir path\to\root\directory\appspec.yml
     ```

     Kesalahan **File Not Found** akan ditampilkan jika AppSpec file tidak disimpan di sana.

1. Dorong revisi ke Amazon GitHub S3 atau. 

   Untuk petunjuk, lihat [Dorong revisi CodeDeploy ke Amazon S3 (hanya penerapan EC2/On-premise)](application-revisions-push.md).

### AppSpec templat file untuk penerapan EC2/Lokal dengan instruksi
<a name="app-spec-template-server"></a>

**catatan**  
 Penerapan ke instance Windows Server tidak mendukung elemen. `runas` Jika Anda menyebarkan ke instance Windows Server, jangan sertakan dalam file Anda AppSpec . 

```
# This is an appspec.yml template file for use with an EC2/On-Premises deployment in CodeDeploy.
# The lines in this template starting with the hashtag symbol are 
#   instructional comments and can be safely left in the file or 
#   ignored.
# For help completing this file, see the "AppSpec File Reference" in the  
#   "CodeDeploy User Guide" at
#   https://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html
version: 0.0
# Specify "os: linux" if this revision targets Amazon Linux, 
#   Red Hat Enterprise Linux (RHEL), or Ubuntu Server  
#   instances.
# Specify "os: windows" if this revision targets Windows Server instances.
# (You cannot specify both "os: linux" and "os: windows".)
os: linux 
# os: windows
# During the Install deployment lifecycle event (which occurs between the 
#   BeforeInstall and AfterInstall events), copy the specified files 
#   in "source" starting from the root of the revision's file bundle 
#   to "destination" on the Amazon EC2 instance.
# Specify multiple "source" and "destination" pairs if you want to copy 
#   from multiple sources or to multiple destinations.
# If you are not copying any files to the Amazon EC2 instance, then remove the
#   "files" section altogether. A blank or incomplete "files" section
#   may cause associated deployments to fail.
files:
  - source: 
    destination:
  - source:
    destination:
# For deployments to Amazon Linux, Ubuntu Server, or RHEL instances,
#   you can specify a "permissions" 
#   section here that describes special permissions to apply to the files 
#   in the "files" section as they are being copied over to 
#   the Amazon EC2 instance.
#   For more information, see the documentation.
# If you are deploying to Windows Server instances,
#   then remove the 
#   "permissions" section altogether. A blank or incomplete "permissions"
#   section may cause associated deployments to fail.
permissions:
  - object:
    pattern:
    except:
    owner:
    group:
    mode: 
    acls:
      -
    context:
      user:
      type:
      range:
    type:
      -
# If you are not running any commands on the Amazon EC2 instance, then remove 
#   the "hooks" section altogether. A blank or incomplete "hooks" section
#   may cause associated deployments to fail.
hooks:
# For each deployment lifecycle event, specify multiple "location" entries 
#   if you want to run multiple scripts during that event.
# You can specify "timeout" as the number of seconds to wait until failing the deployment 
#   if the specified scripts do not run within the specified time limit for the 
#   specified event. For example, 900 seconds is 15 minutes. If not specified, 
#   the default is 1800 seconds (30 minutes).
#   Note that the maximum amount of time that all scripts must finish executing 
#   for each individual deployment lifecycle event is 3600 seconds (1 hour). 
#   Otherwise, the deployment will stop and CodeDeploy will consider the deployment
#   to have failed to the Amazon EC2 instance. Make sure that the total number of seconds 
#   that are specified in "timeout" for all scripts in each individual deployment 
#   lifecycle event does not exceed a combined 3600 seconds (1 hour).
# For deployments to Amazon Linux, Ubuntu Server, or RHEL instances,
#   you can specify "runas" in an event to
#   run as the specified user. For more information, see the documentation.
#   If you are deploying to Windows Server instances,
#   remove "runas" altogether.
# If you do not want to run any commands during a particular deployment
#   lifecycle event, remove that event declaration altogether. Blank or 
#   incomplete event declarations may cause associated deployments to fail.
# During the ApplicationStop deployment lifecycle event, run the commands 
#   in the script specified in "location" starting from the root of the 
#   revision's file bundle.
  ApplicationStop:
    - location: 
      timeout:
      runas:
    - location: 
      timeout:
      runas: 
# During the BeforeInstall deployment lifecycle event, run the commands 
#   in the script specified in "location".
  BeforeInstall:
    - location: 
      timeout:
      runas: 
    - location: 
      timeout:
      runas:
# During the AfterInstall deployment lifecycle event, run the commands 
#   in the script specified in "location".
  AfterInstall:
    - location:     
      timeout: 
      runas:
    - location: 
      timeout:
      runas:
# During the ApplicationStart deployment lifecycle event, run the commands 
#   in the script specified in "location".
  ApplicationStart:
    - location:     
      timeout: 
      runas:
    - location: 
      timeout:
      runas:
# During the ValidateService deployment lifecycle event, run the commands 
#   in the script specified in "location".
  ValidateService:
    - location:     
      timeout: 
      runas:
    - location: 
      timeout:
      runas:
```

# Pilih jenis CodeDeploy repositori
<a name="application-revisions-repository-type"></a>

Lokasi penyimpanan untuk file yang dibutuhkan oleh CodeDeploy disebut *repositori*. Penggunaan repositori tergantung pada platform komputasi mana yang digunakan penyebaran Anda.
+ **EC2/On-Premises**: Untuk menyebarkan kode aplikasi Anda ke satu atau beberapa instance, kode Anda harus dibundel ke dalam file arsip dan ditempatkan di repositori yang CodeDeploy dapat mengaksesnya selama proses penerapan. Anda menggabungkan konten yang dapat di-deploy dan AppSpec file ke dalam file arsip, lalu mengunggahnya ke salah satu jenis repositori yang didukung oleh. CodeDeploy
+ **AWS Lambda** dan **Amazon ECS**: Penerapan memerlukan AppSpec file, yang dapat diakses selama penerapan dengan salah satu cara berikut: 
  +  Dari ember Amazon S3. 
  +  Dari teks yang diketik langsung ke AppSpec editor di konsol. Untuk informasi selengkapnya, lihat [Membuat penerapan AWS Lambda Compute Platform (konsol)](deployments-create-console-lambda.md) dan [Membuat penerapan Platform Komputasi Amazon ECS (konsol)](deployments-create-console-ecs.md). 
  +  Jika Anda menggunakan AWS CLI, Anda dapat mereferensikan AppSpec file yang ada di hard drive Anda atau pada drive jaringan. Untuk informasi selengkapnya, lihat [Membuat penerapan AWS Lambda Compute Platform (CLI)](deployments-create-lambda-cli.md) dan [Membuat penerapan Platform Komputasi Amazon ECS (CLI)](deployments-create-ecs-cli.md). 

CodeDeploy saat ini mendukung jenis repositori berikut: 


|  |  |  | 
| --- |--- |--- |
| Jenis Repositori | Rincian Repositori | Platform Komputasi yang Didukung | 
| Amazon S3 | [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) (Amazon S3) adalah AWS solusi untuk penyimpanan objek yang aman dan dapat diskalakan. Amazon S3 menyimpan data sebagai objek dalam ember. Objek terdiri dari file dan, opsional, setiap metadata yang menggambarkan file itu. Untuk menyimpan objek di Amazon S3, Anda mengunggah file ke ember. Saat mengunggah file, Anda dapat mengatur izin dan metadata pada objek. Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/application-revisions-repository-type.html) | Penerapan yang menggunakan platform komputasi berikut dapat menyimpan revisi dalam bucket Amazon S3.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/application-revisions-repository-type.html) | 
| GitHub | Anda dapat menyimpan revisi aplikasi Anda di [GitHub](http://www.github.com)repositori. Anda dapat memicu penerapan dari GitHub repositori setiap kali kode sumber di repositori itu diubah.Pelajari selengkapnya:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/application-revisions-repository-type.html) | Hanya penerapan EC2 /Lokal yang dapat menyimpan revisi dalam repositori. GitHub  | 
| Bitbucket |  [Anda dapat menyebarkan kode ke grup penyebaran EC2 instance dengan menggunakan [CodeDeploy pipa di Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines/integrations?p=atlassian/aws-code-deploy).](https://bitbucket.org/product/features/pipelines) [Bitbucket Pipelines menawarkan fitur integrasi berkelanjutan dan penerapan berkelanjutan (CI/CD), termasuk Penerapan Bitbucket.](https://confluence.atlassian.com/bitbucket/bitbucket-deployments-940695276.html) CodeDeploy Pipa pertama-tama mendorong artefak ke bucket S3 yang telah Anda tentukan, dan kemudian menyebarkan artefak kode dari ember. Pelajari selengkapnya:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/application-revisions-repository-type.html)  | Hanya penerapan EC2 /Lokal yang dapat menyimpan revisi dalam repositori. BitBucket  | 

**catatan**  
 AWS Lambda Penerapan hanya berfungsi dengan repositori Amazon S3.

# Dorong revisi CodeDeploy ke Amazon S3 (hanya penerapan EC2/On-premise)
<a name="application-revisions-push"></a>

Setelah Anda merencanakan revisi seperti yang dijelaskan [Rencanakan revisi untuk CodeDeploy](application-revisions-plan.md) dan menambahkan AppSpec file ke revisi seperti yang dijelaskan dalam[Tambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy](application-revisions-appspec-file.md), Anda siap untuk menggabungkan file komponen dan mendorong revisi ke Amazon S3. Untuk penerapan ke instans Amazon EC2, setelah Anda mendorong revisi, Anda dapat CodeDeploy menggunakan untuk menerapkan revisi dari Amazon S3 ke instans.

**catatan**  
CodeDeploy juga dapat digunakan untuk menyebarkan revisi yang telah didorong ke. GitHub Untuk informasi selengkapnya, lihat GitHub dokumentasi Anda.

Kami berasumsi Anda telah mengikuti instruksi [Memulai dengan CodeDeploy](getting-started-codedeploy.md) untuk mengatur AWS CLI. Ini sangat penting untuk memanggil **push** perintah yang dijelaskan nanti.

Pastikan Anda memiliki ember Amazon S3. Ikuti instruksi di [Buat ember](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html).

Jika penerapan Anda ke instans Amazon EC2, bucket Amazon S3 target harus dibuat atau ada di wilayah yang sama dengan instans target. Misalnya, jika Anda ingin menyebarkan revisi ke beberapa contoh di Wilayah AS Timur (Virginia N.) dan contoh lainnya di Wilayah AS Barat (Oregon), maka Anda harus memiliki satu ember di Wilayah AS Timur (Virginia N.) dengan satu salinan revisi dan ember lain di Wilayah AS Barat (Oregon) dengan salinan lain dari revisi yang sama. Dalam skenario ini, Anda kemudian perlu membuat dua penyebaran terpisah, satu di Wilayah AS Timur (Virginia N.) dan satu lagi di Wilayah AS Barat (Oregon), meskipun revisinya sama di kedua wilayah dan ember.

Anda harus memiliki izin untuk mengunggah ke bucket Amazon S3. Anda dapat menentukan izin ini melalui kebijakan bucket Amazon S3. Misalnya, dalam kebijakan bucket Amazon S3 berikut, menggunakan karakter wildcard (\$1) memungkinkan AWS akun `111122223333` untuk mengunggah file ke direktori apa pun di bucket Amazon S3 bernama: `amzn-s3-demo-bucket`

```
{
    "Statement": [
        {
            "Action": [
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            }
        }
    ]
}
```

Untuk melihat ID AWS akun, lihat [Menemukan ID AWS akun Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId).

Untuk mempelajari cara membuat dan melampirkan kebijakan bucket Amazon S3, lihat contoh [kebijakan Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

Pengguna yang memanggil **push** perintah harus memiliki, setidaknya, izin untuk mengunggah revisi ke setiap bucket Amazon S3 target. Misalnya, kebijakan berikut memungkinkan pengguna untuk mengunggah revisi di mana saja di bucket Amazon S3 yang diberi nama: `amzn-s3-demo-bucket`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

Untuk mempelajari cara membuat dan melampirkan kebijakan IAM, lihat [Bekerja dengan kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html#AddingPermissions_Console).

## Dorong revisi menggunakan AWS CLI
<a name="push-with-cli"></a>

**catatan**  
 `push`Perintah bundel artefak aplikasi dan AppSpec file ke dalam revisi. Format file revisi ini adalah file ZIP terkompresi. Perintah tidak dapat digunakan dengan AWS Lambda atau penyebaran Amazon ECS karena masing-masing mengharapkan revisi yang merupakan file berformat JSON atau berformat YAML. AppSpec 

Panggil **push** perintah untuk bundel dan dorong revisi untuk penerapan. Parameternya adalah:
+  **--application-name**: (string) Diperlukan. Nama CodeDeploy aplikasi yang akan dikaitkan dengan revisi aplikasi. 
+  **--s3-location**: (string) Diperlukan. Informasi tentang lokasi revisi aplikasi yang akan diunggah ke Amazon S3. Anda harus menentukan bucket Amazon S3 dan kunci. Kuncinya adalah nama revisi. CodeDeploy zip konten sebelum diunggah. Gunakan format `s3://amzn-s3-demo-bucket/your-key.zip`. 
+  **--ignore-hidden-files**atau**--no-ignore-hidden-files**: (boolean) Opsional. Gunakan `--no-ignore-hidden-files` bendera (default) untuk menggabungkan dan mengunggah file tersembunyi ke Amazon S3. Gunakan `--ignore-hidden-files` bendera untuk tidak membundel dan mengunggah file tersembunyi ke Amazon S3. 
+  **--source**(string) Opsional. Lokasi konten yang akan digunakan dan AppSpec file pada mesin pengembangan yang akan di-zip dan diunggah ke Amazon S3. Lokasi ditentukan sebagai jalur relatif terhadap direktori saat ini. Jika jalur relatif tidak ditentukan atau jika satu periode digunakan untuk jalur (“.”), direktori saat ini digunakan. 
+  **--description**(string) Opsional. Komentar yang merangkum revisi aplikasi. Jika tidak ditentukan, string default “Diunggah oleh AWS CLI 'waktu' UTC” digunakan, di mana 'waktu' adalah waktu sistem saat ini di Coordinated Universal Time (UTC). 

Anda dapat menggunakan AWS CLI untuk mendorong revisi untuk penerapan Amazon EC2. Contoh perintah push terlihat seperti ini: 

Di Linux, macOS, atau Unix:

```
aws deploy push \
  --application-name WordPress_App \
  --description "This is a revision for the application WordPress_App" \
  --ignore-hidden-files \
  --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \
  --source .
```

 Di Windows: 

```
aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip --source .
```

 Perintah ini melakukan hal berikut: 
+  Mengaitkan file yang dibundel dengan aplikasi bernama. `WordPress_App` 
+  Melampirkan deskripsi pada revisi. 
+  Mengabaikan file tersembunyi. 
+  Beri nama revisi `WordPressApp.zip` dan dorong ke ember bernama. `amzn-s3-demo-bucket` 
+  Bundel semua file di direktori root ke dalam revisi. 

Setelah push berhasil, Anda dapat menggunakan AWS CLI atau CodeDeploy konsol untuk menyebarkan revisi dari Amazon S3. Untuk menerapkan revisi ini dengan: AWS CLI

 Di Linux, macOS, atau Unix: 

```
aws deploy create-deployment \
  --application-name WordPress_App \ 
  --deployment-config-name your-deployment-config-name \ 
  --deployment-group-name your-deployment-group-name \ 
  --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip
```

 Di Windows: 

```
aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip
```

 Lihat informasi yang lebih lengkap di [Buat penerapan dengan CodeDeploy](deployments-create.md). 

# Lihat detail revisi aplikasi dengan CodeDeploy
<a name="application-revisions-view-details"></a>

Anda dapat menggunakan CodeDeploy konsol, AWS CLI, atau CodeDeploy APIs untuk melihat detail tentang semua revisi aplikasi yang terdaftar ke AWS akun Anda untuk aplikasi tertentu.

Untuk informasi tentang mendaftarkan revisi, lihat[Daftarkan revisi aplikasi di Amazon S3 dengan CodeDeploy](application-revisions-register.md).

**Topics**
+ [Lihat detail revisi aplikasi (konsol)](#application-revisions-view-details-console)
+ [Lihat detail revisi aplikasi (CLI)](#application-revisions-view-details-cli)

## Lihat detail revisi aplikasi (konsol)
<a name="application-revisions-view-details-console"></a>

Untuk melihat detail revisi aplikasi:

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** dan pilih Applications.**
**catatan**  
Jika tidak ada entri yang ditampilkan, pastikan wilayah yang benar dipilih. Pada bilah navigasi, di pemilih wilayah, pilih salah satu wilayah yang tercantum di [Wilayah dan Titik Akhir](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region) di. *Referensi Umum AWS* CodeDeploy hanya didukung di wilayah ini.

1. Pilih nama aplikasi yang memiliki revisi yang ingin Anda lihat.

1. Pada halaman **Detail aplikasi**, pilih tab **Revisi**, dan tinjau daftar revisi yang terdaftar untuk aplikasi. Pilih revisi, lalu pilih **Lihat detail**.

## Lihat detail revisi aplikasi (CLI)
<a name="application-revisions-view-details-cli"></a>

Untuk menggunakan AWS CLI untuk melihat revisi aplikasi, panggil ****get-application-revision****perintah atau ****list-application-revisions****perintah.

**catatan**  
 Referensi untuk GitHub diterapkan ke penerapan hanya untuk penerapan EC2/On-premise. Revisi untuk AWS Lambda penerapan tidak berfungsi dengan. GitHub 

Untuk melihat detail tentang revisi aplikasi tunggal, panggil [get-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-application-revision.html)perintah, dengan menentukan: 
+ Nama aplikasi. Untuk mendapatkan nama aplikasi, panggil perintah [daftar-aplikasi](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html).
+ Untuk revisi yang disimpan di GitHub, nama GitHub repositori dan ID komit yang mereferensikan revisi aplikasi yang didorong ke repositori.
+ Untuk revisi yang disimpan di Amazon S3, nama bucket Amazon S3 berisi revisi; nama dan jenis file file arsip yang diunggah; dan, secara opsional, pengenal versi Amazon S3 file arsip dan file arsip. ETag Jika pengenal versi, ETag, atau keduanya ditentukan selama panggilan ke [register-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-application-revision.html), mereka harus ditentukan di sini.

Untuk melihat detail tentang beberapa revisi aplikasi, panggil [list-application-revisions](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-application-revisions.html)perintah, dengan menentukan:
+ Nama aplikasi. Untuk mendapatkan nama aplikasi, panggil perintah [daftar-aplikasi](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html).
+ Secara opsional, untuk melihat detail hanya untuk revisi aplikasi Amazon S3, nama bucket Amazon S3 berisi revisi.
+ Secara opsional, untuk melihat detail hanya untuk revisi aplikasi Amazon S3, string awalan untuk membatasi pencarian ke revisi aplikasi Amazon S3. (Jika tidak ditentukan, CodeDeploy akan mencantumkan semua revisi aplikasi Amazon S3 yang cocok.)
+ Secara opsional, apakah akan mencantumkan detail revisi berdasarkan apakah setiap revisi adalah revisi target grup penyebaran. (Jika tidak ditentukan, CodeDeploy akan mencantumkan semua revisi yang cocok.)
+ Secara opsional, nama kolom dan urutan yang digunakan untuk mengurutkan daftar detail revisi. (Jika tidak ditentukan, CodeDeploy akan mencantumkan hasil dalam urutan sewenang-wenang.)

Anda dapat membuat daftar semua revisi atau hanya revisi yang disimpan di Amazon S3. Anda tidak dapat mencantumkan hanya revisi yang disimpan di dalamnya GitHub.

# Daftarkan revisi aplikasi di Amazon S3 dengan CodeDeploy
<a name="application-revisions-register"></a>

Jika Anda sudah memanggil perintah [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html) untuk mendorong revisi aplikasi ke Amazon S3, Anda tidak perlu mendaftarkan revisi. Namun, jika Anda mengunggah revisi ke Amazon S3 melalui cara lain dan ingin revisi muncul di CodeDeploy konsol atau melalui AWS CLI, ikuti langkah-langkah ini untuk mendaftarkan revisi terlebih dahulu.

Jika Anda telah mendorong revisi aplikasi ke GitHub repositori dan ingin revisi muncul di CodeDeploy konsol atau melalui AWS CLI, Anda juga harus mengikuti langkah-langkah ini.

Anda hanya dapat menggunakan AWS CLI atau CodeDeploy APIs untuk mendaftarkan revisi aplikasi di Amazon GitHub S3 atau.

**Topics**
+ [Daftarkan revisi di Amazon S3 dengan CodeDeploy (CLI)](#application-revisions-register-s3)
+ [Daftarkan revisi GitHub dengan CodeDeploy (CLI)](#application-revisions-register-github)

## Daftarkan revisi di Amazon S3 dengan CodeDeploy (CLI)
<a name="application-revisions-register-s3"></a>

1. Unggah revisi ke Amazon S3.

1. Panggil [register-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-application-revision.html)perintah, tentukan:
   + Nama aplikasi. Untuk melihat daftar nama aplikasi, panggil perintah [daftar-aplikasi](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html).
   + Informasi tentang revisi yang akan didaftarkan:
     + Nama bucket Amazon S3 yang berisi revisi.
     + Nama dan jenis file revisi yang diunggah. Untuk AWS Lambda penerapan, revisi adalah AppSpec file yang ditulis dalam JSON atau YAMAL. Untuk penerapan EC2/lokal, revisi berisi versi file sumber yang CodeDeploy akan diterapkan ke instance atau skrip Anda yang akan berjalan pada instance Anda. CodeDeploy 
**catatan**  
Format file arsip tar dan tar terkompresi (.tar dan.tar.gz) tidak didukung untuk instance Windows Server.
     + (Opsional) Pengidentifikasi versi Amazon S3 revisi. (Jika pengenal versi tidak ditentukan, CodeDeploy akan menggunakan versi terbaru.)
     + (Opsional) Revisi. ETag (Jika tidak ETag ditentukan, CodeDeploy akan melewati validasi objek.)
   + (Opsional) Deskripsi apa pun yang ingin Anda kaitkan dengan revisi.

Informasi tentang revisi di Amazon S3 dapat ditentukan pada baris perintah, menggunakan sintaks ini sebagai bagian dari panggilan. **register-application-revision** (`version`dan `eTag` bersifat opsional.)

Untuk file revisi untuk penerapan EC2/Lokal:

```
--s3-location bucket=string,key=string,bundleType=tar|tgz|zip,version=string,eTag=string
```

Untuk file revisi untuk penyebaran AWS Lambda:

```
--s3-location bucket=string,key=string,bundleType=JSON|YAML,version=string,eTag=string
```

## Daftarkan revisi GitHub dengan CodeDeploy (CLI)
<a name="application-revisions-register-github"></a>

**catatan**  
AWS Lambda penerapan tidak berfungsi dengan. GitHub 

1. Unggah revisi ke GitHub repositori Anda.

1. Panggil [register-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-application-revision.html)perintah, tentukan:
   + Nama aplikasi. Untuk melihat daftar nama aplikasi, panggil perintah [daftar-aplikasi](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html).
   + Informasi tentang revisi yang akan didaftarkan:
     + Nama GitHub pengguna atau grup yang ditetapkan ke repositori yang berisi revisi, diikuti dengan garis miring (`/`), diikuti dengan nama repositori.
     + ID komit yang mereferensikan revisi di repositori.
   + (Opsional) Deskripsi apa pun yang ingin Anda kaitkan dengan revisi.

Informasi tentang revisi di GitHub dapat ditentukan pada baris perintah, menggunakan sintaks ini sebagai bagian dari panggilan: **register-application-revision**

```
--github-location repository=string,commitId=string
```