ステップ 2: サンプルのアプリケーションリビジョンを作成する - AWS CodeDeploy

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 2: サンプルのアプリケーションリビジョンを作成する

このステップでは、オンプレミスインスタンスにデプロイするサンプルのアプリケーションリビジョンを作成します。

オンプレミスインスタンス上に既にインストールされている、または組織のポリシーによってインストールが許可されているソフトウェアと機能を知るのは難しいため、オンプレミスインスタンスの場所にテキストファイルを書き込むために、ここで提供するサンプルアプリケーションリビジョンでは、バッチスクリプト (Windows Server の場合) またはシェルスクリプト (Ubuntu Server および RHEL の場合) を使用します。InstallAfterInstallApplicationStart および ValidateService を含む、複数の CodeDeploy デプロイライフサイクルイベントごとに 1 つのファイルが書き込まれます。BeforeInstall デプロイライフサイクルイベント中にスクリプトが実行され、このサンプルの前のデプロイ中に書き込まれた古いファイルを削除し、新しいファイルを書き込むオンプレミスインスタンス上に場所を作成します。

注記

以下のいずれも該当しない場合、このサンプルのアプリケーションリビジョンはデプロイに失敗することがあります。

  • オンプレミスインスタンスで CodeDeploy エージェントを起動するユーザーには、スクリプトを実行する権限がありません。

  • ユーザーに、スクリプトにリストされている場所でフォルダを作成または削除する権限がない。

  • ユーザーに、スクリプトにリストされている場所でテキストファイルを作成する権限がない。

注記

Windows Server インスタンスを設定し、別のサンプルをデプロイする場合は、ステップ 2: ソースコンテンツを Windows Server の Amazon EC2 インスタンスにデプロイするように構成します。 チュートリアルの「チュートリアル: 「Hello, World!」 CodeDeployCodeDeploy を使用したアプリケーション (Windows Server)」のサンプルを使用することをお勧めします。

RHEL インスタンスを設定し、別のサンプルをデプロイする場合は、ステップ 2: Amazon Linux または Red Hat エンタープライズ Linux Amazon EC2 インスタンスにデプロイされるようにソースコンテンツを設定します。 のチュートリアルの チュートリアル:Amazon EC2 WordPress インスタンスにデプロイする (Amazon Linux または Red Hat エンタープライズ Linux および Linux、macOS、または Unix) のサンプルを使用することをお勧めします。

現在、Ubuntu サーバー用の代替サンプルはありません。

  1. 開発マシンで、サンプルのアプリケーションリビジョンのファイルを保存する、CodeDeployDemo-OnPrem という名前のサブディレクトリ (サブフォルダ) を作成し、そのサブフォルダに切り替えます。この例では、c:\temp のフォルダを Windows サーバーのルートフォルダとして使用するか、/tmp のフォルダを Ubuntu サーバーおよび RHEL のルートフォルダとして使用することを前提としています。別のフォルダを使用する場合は、このチュートリアル全体でそのフォルダに置き換えてください。

    Windows の場合:

    mkdir c:\temp\CodeDeployDemo-OnPrem cd c:\temp\CodeDeployDemo-OnPrem

    Linux、macOS、Unix の場合:

    mkdir /tmp/CodeDeployDemo-OnPrem cd /tmp/CodeDeployDemo-OnPrem
  2. CodeDeployDemo-OnPrem サブフォルダのルートで、テキストエディタを使用して appspec.yml および install.txt という 2 つのファイルを作成します。

    Windows サーバーのための appspec.yml

    version: 0.0 os: windows files: - source: .\install.txt destination: c:\temp\CodeDeployExample hooks: BeforeInstall: - location: .\scripts\before-install.bat timeout: 900 AfterInstall: - location: .\scripts\after-install.bat timeout: 900 ApplicationStart: - location: .\scripts\application-start.bat timeout: 900 ValidateService: - location: .\scripts\validate-service.bat timeout: 900

    Ubuntu ServerとRHELのための appspec.yml

    version: 0.0 os: linux files: - source: ./install.txt destination: /tmp/CodeDeployExample hooks: BeforeInstall: - location: ./scripts/before-install.sh timeout: 900 AfterInstall: - location: ./scripts/after-install.sh timeout: 900 ApplicationStart: - location: ./scripts/application-start.sh timeout: 900 ValidateService: - location: ./scripts/validate-service.sh timeout: 900

    AppSpec ファイルの詳細については、「アプリケーション仕様ファイルをリビジョンに追加する CodeDeploy」および「CodeDeploy AppSpec ファイルリファレンス」を参照してください。

    install.txt:

    The Install deployment lifecycle event successfully completed.
  3. CodeDeployDemo-OnPrem サブフォルダのルートの下に、scripts サブフォルダを作成し、そのサブフォルダに切り替えます。

    Windows の場合:

    mkdir c:\temp\CodeDeployDemo-OnPrem\scripts cd c:\temp\CodeDeployDemo-OnPrem\scripts

    Linux、macOS、Unix の場合:

    mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts cd /tmp/CodeDeployDemo-OnPrem/scripts
  4. scripts のサブフォルダのルートで、テキストエディタを使用して、 Windows サーバーの場合は before-install.batafter-install.batapplication-start.batvalidate-service.bat、あるいは Ubuntu サーバーおよび RHEL の場合は、before-install.shafter-install.shapplication-start.shvalidate-service.sh という名前の 4 つのファイルを作成します。

    Windows サーバーの場合

    before-install.bat:

    set FOLDER=%HOMEDRIVE%\temp\CodeDeployExample if exist %FOLDER% ( rd /s /q "%FOLDER%" ) mkdir %FOLDER%

    after-install.bat:

    cd %HOMEDRIVE%\temp\CodeDeployExample echo The AfterInstall deployment lifecycle event successfully completed. > after-install.txt

    application-start.bat:

    cd %HOMEDRIVE%\temp\CodeDeployExample echo The ApplicationStart deployment lifecycle event successfully completed. > application-start.txt

    validate-service.bat:

    cd %HOMEDRIVE%\temp\CodeDeployExample echo The ValidateService deployment lifecycle event successfully completed. > validate-service.txt

    Ubuntu Server と RHEL の場合:

    before-install.sh:

    #!/bin/bash export FOLDER=/tmp/CodeDeployExample if [ -d $FOLDER ] then rm -rf $FOLDER fi mkdir -p $FOLDER

    after-install.sh:

    #!/bin/bash cd /tmp/CodeDeployExample echo "The AfterInstall deployment lifecycle event successfully completed." > after-install.txt

    application-start.sh:

    #!/bin/bash cd /tmp/CodeDeployExample echo "The ApplicationStart deployment lifecycle event successfully completed." > application-start.txt

    validate-service.sh:

    #!/bin/bash cd /tmp/CodeDeployExample echo "The ValidateService deployment lifecycle event successfully completed." > validate-service.txt unset FOLDER
  5. Ubuntu サーバーおよび RHEL の場合のみ、4 つのシェルスクリプトに実行権限があることを確認します。

    chmod +x ./scripts/*