Membuat, Mengunggah, dan Menyebarkan Aplikasi - Panduan Pengembang Aplikasi AMS Advanced

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

Membuat, Mengunggah, dan Menyebarkan Aplikasi

Pertama, buat bundel WordPress aplikasi, lalu gunakan CodeDeploy CTs untuk membuat dan menyebarkan aplikasi.

  1. Unduh WordPress, ekstrak file dan buat file. /scripts direktori.

    Perintah Linux:

    wget https://github.com/WordPress/WordPress/archive/master.zip

    Windows: Tempel https://github.com/WordPress/WordPress/archive/master.zip ke jendela browser dan unduh file zip.

    Buat direktori sementara untuk merakit paket.

    Linux:

    mkdir /tmp/WordPress

    Windows: Buat direktori WordPress "", Anda akan menggunakan jalur direktori nanti.

  2. Ekstrak WordPress sumber ke direktori WordPress "" dan buat file. /scripts direktori.

    Linux:

    unzip master.zip -d /tmp/WordPress_Temp cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress rm -rf /tmp/WordPress_Temp rm -f master cd /tmp/WordPress mkdir scripts

    Windows: Buka direktori "WordPress" yang Anda buat dan buat direktori “skrip” di sana.

    Jika Anda berada di lingkungan Windows, pastikan untuk mengatur jenis istirahat untuk file skrip ke Unix (LF). Di Notepad ++, ini adalah opsi di kanan bawah jendela.

  3. Buat file CodeDeploy appspec.yl, di WordPress direktori (jika menyalin contoh, periksa lekukan, setiap spasi dihitung). PENTING: Pastikan jalur “sumber” benar untuk menyalin WordPress file (dalam hal ini, di WordPress direktori Anda) ke tujuan yang diharapkan (/var/www/html/WordPress). Dalam contoh, file appspec.ymlada di direktori dengan WordPress file, jadi hanya “/” yang diperlukan. Juga, bahkan jika Anda menggunakan RHEL AMI untuk grup Auto Scaling Anda, biarkan baris “os: linux” apa adanya. Contoh file appspec.yml:

    version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/config_wordpress.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
  4. Buat skrip file bash di file. WordPress /scripts direktori.

    Pertama, buat config_wordpress.sh dengan konten berikut (jika Anda mau, Anda dapat mengedit file wp-config.php secara langsung).

    catatan

    Ganti DBName dengan nilai yang diberikan dalam HA Stack RFC (misalnya,wordpress).

    Ganti DB_MasterUsername dengan MasterUsername nilai yang diberikan dalam HA Stack RFC (misalnya,admin).

    Ganti DB_MasterUserPassword dengan MasterUserPassword nilai yang diberikan dalam HA Stack RFC (misalnya,p4ssw0rd).

    Ganti DB_ENDPOINT dengan nama DNS endpoint dalam output eksekusi HA Stack RFC (misalnya,). srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com Anda dapat menemukannya dengan GetRfcoperasi (CLI: get-rfc --rfc-id RFC_ID) atau di halaman detail RFC Konsol AMS untuk HA Stack RFC yang sebelumnya Anda kirimkan.

    #!/bin/bash chmod -R 755 /var/www/html/WordPress cp /var/www/html/WordPress/wp-config-sample.php /var/www/html/WordPress/wp-config.php cd /var/www/html/WordPress sed -i "s/database_name_here/DBName/g" wp-config.php sed -i "s/username_here/DB_MasterUsername/g" wp-config.php sed -i "s/password_here/DB_MasterUserPassword/g" wp-config.php sed -i "s/localhost/DB_ENDPOINT/g" wp-config.php
  5. Di direktori yang sama buat install_dependencies.sh dengan konten berikut:

    #!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restart
    catatan

    HTTPS diinstal sebagai bagian dari data pengguna saat peluncuran untuk memungkinkan pemeriksaan kesehatan berfungsi sejak awal.

  6. Di direktori yang sama buat start_server.sh dengan konten berikut:

    • Untuk instance Amazon Linux, gunakan ini:

      #!/bin/bash service httpd start
    • Untuk instance RHEL, gunakan ini (perintah tambahan adalah kebijakan yang memungkinkan SELINUX menerima): WordPress

      #!/bin/bash setsebool -P httpd_can_network_connect_db 1 setsebool -P httpd_can_network_connect 1 chcon -t httpd_sys_rw_content_t /var/www/html/WordPress/wp-content -R restorecon -Rv /var/www/html service httpd start
  7. Di direktori yang sama buat stop_server.sh dengan konten berikut:

    #!/bin/bash service httpd stop
  8. Buat bundel zip.

    Linux:

    $ cd /tmp/WordPress $ zip -r wordpress.zip .

    Windows: Buka direktori "WordPress" Anda dan pilih semua file dan buat file zip, pastikan untuk menamainya wordpress.zip.

  1. Unggah bundel aplikasi ke bucket S3.

    Bundel harus ada untuk terus menerapkan tumpukan.

    Anda secara otomatis memiliki akses ke instans bucket S3 yang Anda buat. Anda dapat mengaksesnya melalui benteng Anda, atau melalui konsol S3, dan mengunggah WordPress bundel dengan drag-and-drop atau menjelajah ke dan memilih file zip.

    Anda juga dapat menggunakan perintah berikut di jendela shell; pastikan Anda memiliki jalur yang benar ke file zip:

    aws s3 cp wordpress.zip s3://BUCKET_NAME/
  2. Menyebarkan bundel WordPress aplikasi.

    Mengumpulkan data berikut sebelum Anda mulai akan membuat penyebaran berjalan lebih cepat.

    DATA YANG DIBUTUHKAN:

    • VPC-ID: Nilai ini menentukan di mana Bucket S3 Anda akan berada. Gunakan ID VPC yang sama dengan yang Anda gunakan sebelumnya.

    • CodeDeployApplicationNamedanCodeDeployApplicationName: ApplicationName Nilai yang Anda gunakan dalam HA 2-Tier Stack RFC mengatur CodeDeployApplicationName dan. CodeDeployDeploymentGroupName Contoh menggunakan "WordPress" tetapi Anda mungkin telah menggunakan nilai yang berbeda.

    • S3Location: UntukS3Bucket, gunakan BucketName yang Anda buat sebelumnya. Itu S3BundleType dan S3Key berasal dari bundel yang Anda letakkan di toko S3 Anda.

    1. Output parameter eksekusi skema JSON untuk CodeDeploy aplikasi menyebarkan CT ke file JSON bernama Deploy Params.json. CDApp

      aws amscm get-change-type-version --change-type-id "ct-2edc3sd1sqmrb" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > DeployCDAppParams.json
    2. Ubah skema sebagai berikut dan simpan sebagai, Anda dapat menghapus dan mengganti isinya.

      { "Description": "DeployWPCDApp", "VpcId": "VPC_ID", "Name": "WordPressCDAppDeploy", "TimeoutInMinutes": 60, "Parameters": { "CodeDeployApplicationName": "WordPress", "CodeDeployDeploymentGroupName": "WordPress", "CodeDeployIgnoreApplicationStopFailures": false, "CodeDeployRevision": { "RevisionType": "S3", "S3Location": { "S3Bucket": "BUCKET_NAME", "S3BundleType": "zip", "S3Key": "wordpress.zip" } } } }
    3. Keluarkan template JSON CreateRfc ke file, di folder Anda saat ini, bernama Deploy CDApp RFC.json:

      aws amscm create-rfc --generate-cli-skeleton > DeployCDAppRfc.json
    4. Ubah dan simpan file Deploy CDApp RFC.json, Anda dapat menghapus dan mengganti isinya. Perhatikan bahwa RequestedStartTime dan RequestedEndTime sekarang opsional; mengecualikan mereka membuat ASAP RFC yang mengeksekusi segera setelah disetujui (yang biasanya terjadi secara otomatis). Untuk mengirimkan RFC terjadwal, tambahkan nilai-nilai tersebut.

      { "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-2edc3sd1sqmrb", "Title": "CD-Deploy-For-WP-RFC" }
    5. Buat RFC, tentukan file Deploy CDApp Rfc dan file parameter eksekusi Deploy CDApp Params:

      aws amscm create-rfc --cli-input-json file://DeployCDAppRfc.json --execution-parameters file://DeployCDAppParams.json

      Anda menerima RFC baru sebagai tanggapan. RfcId Simpan ID untuk langkah selanjutnya.

    6. Kirim RFC:

      aws amscm submit-rfc --rfc-id RFC_ID

      Jika RFC berhasil, Anda tidak menerima output.

    7. Untuk memeriksa status RFC, jalankan

      aws amscm get-rfc --rfc-id RFC_ID