Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan CodeDeploy agen untuk memvalidasi paket penerapan pada mesin lokal
Dengan menggunakan CodeDeploy agen, Anda dapat menyebarkan konten pada instance yang Anda masuki. Ini memungkinkan Anda untuk menguji integritas file spesifikasi aplikasi (AppSpec file) yang ingin Anda gunakan dalam penyebaran dan konten yang ingin Anda gunakan.
Anda tidak perlu membuat grup aplikasi dan penyebaran. Jika Anda ingin menyebarkan konten yang disimpan pada instance lokal, Anda bahkan tidak memerlukan AWS akun. Untuk pengujian yang paling sederhana, Anda dapat menjalankan codedeploy-local perintah, tanpa menentukan opsi apa pun, di direktori yang berisi AppSpec file dan konten yang akan digunakan. Ada opsi untuk kasus uji lain di alat ini.
Dengan memvalidasi paket penerapan pada mesin lokal, Anda dapat:
-
Uji integritas revisi aplikasi.
-
Uji isi AppSpec file.
-
Cobalah CodeDeploy untuk pertama kalinya dengan kode aplikasi yang ada.
-
Terapkan konten dengan cepat saat Anda sudah masuk ke sebuah instans.
Anda dapat menggunakan konten deploy yang disimpan di instans lokal atau dalam jenis repositori jarak jauh yang didukung (bucket Amazon S3 atau repositori publik). GitHub
Prasyarat
Sebelum memulai penerapan lokal, selesaikan langkah-langkah berikut:
-
Buat atau gunakan jenis instance yang didukung oleh CodeDeploy agen. Untuk informasi, lihat Sistem operasi yang didukung oleh CodeDeploy agen.
-
Instal versi 1.0.1.1352 atau yang lebih baru dari agen. CodeDeploy Untuk informasi, lihat Instal CodeDeploy agen.
-
Jika Anda menerapkan konten dari bucket GitHub atau repositori Amazon S3, sediakan pengguna untuk digunakan. CodeDeploy Untuk informasi, lihat Langkah 1: Menyiapkan.
-
Jika Anda menerapkan revisi aplikasi dari bucket Amazon S3, buat bucket Amazon S3 di wilayah tempat Anda bekerja dan terapkan kebijakan bucket Amazon S3 ke bucket. Kebijakan ini memberi instans Anda izin yang diperlukan untuk mengunduh revisi aplikasi.
Misalnya, kebijakan bucket Amazon S3 berikut mengizinkan EC2 instans Amazon apa pun dengan profil IAM instans terlampir yang berisi unduhan dari mana saja di bucket Amazon S3 bernama: ARN
arn:aws:iam::444455556666:role/CodeDeployDemo
amzn-s3-demo-bucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }
Kebijakan bucket Amazon S3 berikut memungkinkan instans lokal dengan IAM pengguna terkait yang berisi unduhan dari mana saja di bucket Amazon S3 bernama: ARN
arn:aws:iam::444455556666:user/CodeDeployUser
amzn-s3-demo-bucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/CodeDeployUser" ] } } ] }
Untuk informasi tentang cara membuat dan melampirkan kebijakan bucket Amazon S3, lihat contoh kebijakan Bucket.
-
Jika Anda menerapkan revisi aplikasi dari bucket GitHub atau repositori Amazon S3, siapkan profil instance dan IAM lampirkan ke instance. Untuk informasi, lihatLangkah 4: Buat profil IAM instans untuk EC2 instans Amazon Anda,Membuat instans Amazon EC2 untuk CodeDeploy (AWS CLI atau konsol Amazon EC2), danBuat instans Amazon EC2 untuk CodeDeploy (template)AWS CloudFormation.
-
Jika Anda menyebarkan konten Anda dari GitHub, buat GitHub akun dan repositori publik. Untuk membuat GitHub akun, lihat Bergabung GitHub
. Untuk membuat GitHub repositori, lihat Membuat repo . catatan
Repositori pribadi saat ini tidak didukung. Jika konten Anda disimpan dalam GitHub repositori pribadi, Anda dapat mengunduhnya ke instance dan menggunakan
--bundle-location
opsi untuk menentukan jalur lokalnya. -
Siapkan konten (termasuk AppSpec file) yang ingin Anda terapkan ke instance dan letakkan di instance lokal, di bucket Amazon S3, atau di GitHub repositori Anda. Untuk informasi, lihat Bekerja dengan revisi aplikasi untuk CodeDeploy.
-
Jika Anda ingin menggunakan nilai selain default untuk opsi konfigurasi lainnya, buat file konfigurasi dan letakkan di instance (untuk
/etc/codedeploy-agent/conf/codedeployagent.yml
Amazon LinuxRHEL, atau instance Server Ubuntu atauC:\ProgramData\Amazon\CodeDeploy\conf.yml
untuk instance Windows Server). Untuk informasi, lihat CodeDeploy referensi konfigurasi agen.catatan
Jika Anda menggunakan file konfigurasi di Amazon Linux,RHEL, atau instance Server Ubuntu, Anda harus:
-
Gunakan
:log_dir:
variabel:root_dir:
dan untuk menentukan lokasi selain default untuk folder direktori root dan log deployment. -
Gunakan
sudo
untuk menjalankan perintah CodeDeploy agen.
-
Buat penerapan lokal
Pada contoh di mana Anda ingin membuat penyebaran lokal, buka sesi terminal (Amazon LinuxRHEL, atau contoh Server Ubuntu) atau prompt perintah (Windows Server) untuk menjalankan perintah alat.
catatan
codedeploy-localPerintah diinstal di lokasi berikut:
-
Di Amazon Linux,RHEL, atau Server Ubuntu:
/opt/codedeploy-agent/bin
. -
Di Windows Server:
C:\ProgramData\Amazon\CodeDeploy\bin
.
Sintaks Perintah Dasar
codedeploy-local [options]
Sinopsis
codedeploy-local [--bundle-location <value>] [--type <value>] [--file-exists-behavior <value>] [--deployment-group <value>] [--events <comma-separated values>] [--agent-configuration-file <value>] [--appspec-filename <value>]
Pilihan
-l, --bundle-lokasi
Lokasi bundel revisi aplikasi. Jika Anda tidak menentukan lokasi, alat menggunakan direktori yang sedang Anda kerjakan secara default. Jika Anda menentukan --bundle-location
, maka Anda juga harus menentukan nilai --type
.
Contoh format lokasi bundel:
-
Lokal Amazon Linux,RHEL, atau contoh Server Ubuntu:
/path/to/local/bundle.tgz
-
Contoh Windows Server lokal:
C:/path/to/local/bundle
-
Ember Amazon S3:
s3://amzn-s3-demo-bucket/bundle.tar
-
GitHub repositori:
https://github.com/
account-name
/repository-name
/
-t, --tipe
Format bundel revisi aplikasi. Jenis yang didukung meliputitgz
,tar
,zip
, dandirectory
. Jika Anda tidak menentukan jenis, alat ini menggunakan secara directory
default. Jika Anda menentukan --type
, maka Anda juga harus menentukan nilai --bundle-location
.
-b, -- file-exists-behavior
Menunjukkan bagaimana file ditangani yang sudah ada di lokasi target penerapan tetapi bukan bagian dari penerapan yang berhasil sebelumnya. Pilihan termasukDISALLOW,OVERWRITE,RETAIN. Untuk informasi lebih lanjut, lihat fileExistsBehaviordi AWS CodeDeploy APIReferensi.
-g, --deployment-group
Jalur ke folder yang merupakan lokasi target untuk konten yang akan digunakan. Jika Anda tidak menentukan folder, alat akan membuat satu bernama default-local-deployment-groupdi dalam direktori root deployment Anda. Untuk setiap penyebaran lokal yang Anda buat, alat ini membuat subdirektori di dalam folder ini dengan nama seperti d-98761234-local.
-e, --event
Satu set kait peristiwa siklus hidup timpa yang ingin Anda jalankan, secara berurutan, bukan peristiwa yang Anda cantumkan dalam file. AppSpec Beberapa kait dapat ditentukan, dipisahkan dengan koma. Anda dapat menggunakan opsi ini jika:
-
Anda ingin menjalankan serangkaian acara yang berbeda tanpa harus memperbarui AppSpec file.
-
Anda ingin menjalankan satu event hook sebagai pengecualian untuk apa yang ada di AppSpec file, seperti
ApplicationStop
.
Jika Anda tidak menentukan DownloadBundledan Menginstal peristiwa dalam daftar penggantian, mereka akan berjalan sebelum semua kait acara yang Anda tentukan. Jika Anda menyertakan DownloadBundledan Menginstal dalam daftar --events
opsi, mereka harus didahului hanya oleh peristiwa yang biasanya berjalan sebelum mereka dalam CodeDeploy penerapan. Untuk informasi, lihat AppSpec Bagian 'kait'.
-c, -- agent-configuration-file
Lokasi file konfigurasi yang akan digunakan untuk penyebaran, jika Anda menyimpannya di lokasi selain default. File konfigurasi menentukan alternatif untuk nilai dan perilaku default lainnya untuk penerapan.
Secara default, file konfigurasi disimpan di /etc/codedeploy-agent/conf/codedeployagent.yml
(Amazon Linux,RHEL, atau instance Server Ubuntu) atau C:/ProgramData/Amazon/CodeDeploy/conf.yml
(Windows Server). Untuk informasi selengkapnya, lihat CodeDeploy referensi konfigurasi agen.
-A, --appspec-nama file
Nama AppSpec file. Untuk penerapan lokal, nilai yang diterima adalah appspec.yml
dan. appspec.yaml
Secara default, AppSpec file tersebut dipanggilappspec.yml
.
-h, --membantu
Menampilkan ringkasan konten bantuan.
-v, --versi
Menampilkan nomor versi alat.
Contoh
Berikut ini adalah contoh format perintah yang valid.
codedeploy-local
codedeploy-local --bundle-location /path/to/local/bundle/directory
codedeploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group my-deployment-group
codedeploy-local --bundle-location /path/to/local/directory --type directory --deployment-group my-deployment-group
Terapkan bundel dari Amazon S3:
codedeploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.tgz --type tgz
codedeploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.zip?versionId=1234&etag=47e8 --type zip --deployment-group my-deployment-group
Menyebarkan bundel dari GitHub repositori publik:
codedeploy-local --bundle-location https://github.com/awslabs/aws-codedeploy-sample-tomcat --type zip
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/master --type zip
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/HEAD --type zip
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/1a2b3c4d --type zip
Terapkan bundel yang menentukan beberapa peristiwa siklus hidup:
codedeploy-local --bundle-location /path/to/local/bundle.tar --type tar --application-folder my-deployment --events DownloadBundle,Install,ApplicationStart,HealthCheck
Menghentikan aplikasi yang digunakan sebelumnya menggunakan peristiwa ApplicationStop siklus hidup:
codedeploy-local --bundle-location /path/to/local/bundle.tgz --type tgz --deployment-group --events ApplicationStop
Terapkan menggunakan ID grup penerapan tertentu:
codedeploy-local --bundle-location C:/path/to/local/bundle/directory --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca
codedeploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca