Dorong revisi CodeDeploy ke Amazon S3 (hanya penerapan EC2/On-premise) - AWS CodeDeploy

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

Dorong revisi CodeDeploy ke Amazon S3 (hanya penerapan EC2/On-premise)

Setelah Anda merencanakan revisi seperti yang dijelaskan Rencanakan revisi untuk CodeDeploy dan menambahkan AppSpec file ke revisi seperti yang dijelaskan dalamTambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy, 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 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.

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 (*) memungkinkan AWS akun 111122223333 untuk mengunggah file ke direktori apa pun di bucket Amazon S3 bernama: codedeploydemobucket

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Untuk melihat ID AWS akun, lihat Menemukan ID AWS akun Anda.

Untuk mempelajari cara membuat dan melampirkan kebijakan bucket Amazon S3, lihat contoh kebijakan Bucket.

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: codedeploydemobucket

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

Untuk mempelajari cara membuat dan melampirkan kebijakan IAM, lihat Bekerja dengan kebijakan.

Dorong revisi menggunakan AWS CLI

catatan

pushPerintah 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://your-S3-bucket-name/your-key.zip.

  • --ignore-hidden-filesatau--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://codedeploydemobucket/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://codedeploydemobucket/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. codedeploydemobucket

  • 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=codedeploydemobucket,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=codedeploydemobucket,key=WordPressApp.zip,bundleType=zip

Untuk informasi selengkapnya, lihat Buat penerapan dengan CodeDeploy.