翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AppSpec 'files' セクション (EC2/オンプレミスデプロイのみ)
デプロイのインストールイベント中にアプリケーションリビジョンのどのファイルをインスタンスにインストールするか CodeDeploy に関する情報を提供します。このセクションは、デプロイ中にリビジョンからインスタンス上の場所にファイルをコピーする場合のみ必要です。
このセクションの構造は次のとおりです。
files: - source:
source-file-location-1
destination:destination-file-location-1
file_exists_behavior:DISALLOW|OVERWRITE|RETAIN
複数の source
と destination
ペアを設定できます。
source
は、リビジョンからインスタンスにコピーするファイルまたはディレクトリを識別します。
-
source
はファイルを参照し、指定されたファイルのみがインスタンスにコピーされます。 -
source
はディレクトリを参照し、そのディレクトリのすべてのファイルがインスタンスにコピーされます。 -
source
が 1 つのスラッシュ (Amazon Linux、、Ubuntu Server インスタンスの場合は「/RHEL」、Windows Server インスタンスの場合は「」) の場合、リビジョンのすべてのファイルがインスタンスにコピーされます。
source
で使用されているパスは appspec.yml
ファイルに対する相対パスで、 ファイルはリビジョンのルートに存在する必要があります。リビジョンのファイル構造の詳細については、「のリビジョンを計画する CodeDeploy」を参照してください。
destination
は、ファイルをコピーするインスタンス上の場所を識別します。これは、 /root/destination/directory
(Linux、、RHELUbuntu の場合) や c:\destination\folder
(Windows の場合) などの完全修飾パスである必要があります。
source
と destination
は、それぞれ文字列で指定されます。
file_exists_behavior
命令はオプションであり、 がデプロイターゲットロケーションに既に存在しているが、以前のデプロイに成功しなかったファイルを処理する方法 CodeDeployを指定します。この設定は、以下のいずれかの値を取ることができます。
-
DISALLOW: デプロイは失敗します。オプションが何も指定されていないときは、これもデフォルトの動作となります。
-
OVERWRITE: 現在デプロイされているアプリケーションリビジョンのファイルのバージョンは、インスタンスに既にあるバージョンを置き換えます。
-
RETAIN: インスタンスに既に存在するファイルのバージョンは、新しいデプロイの一部として保持および使用されます。
file_exists_behavior
設定を使用する場合、この設定を理解してください。
-
は 1 度だけ指定でき、
files:
にリストされたすべてのファイルとディレクトリに適用されます。 -
は、
--file-exists-behavior
AWS CLI オプションとfileExistsBehavior
APIオプション (どちらもオプション) よりも優先されます。
Amazon Linux、Ubuntu Server、またはRHELインスタンスの例files
を次に示します。
files: - source: Config/config.txt destination: /webapps/Config - source: source destination: /webapps/myApp
この例では、次の 2 つのオペレーションが、Install イベント中に実行されます。
-
使用するリビジョンの
Config/config.txt
ファイルをインスタンスの/webapps/Config/config.txt
パスにコピーします。 -
リビジョンの
source
ディレクトリのすべてのファイルを、インスタンスの/webapps/myApp
ディレクトリに再帰的にコピーします。
「files」セクションの例
次の例は、files
セクションを指定する方法を示しています。これらの例は Windows Server ファイルとディレクトリ (フォルダ) 構造を示していますが、Amazon Linux、Ubuntu Server、RHELインスタンスに簡単に適応できます。
注記
EC2/オンプレミスデプロイのみが files
セクションを使用します。Lambda AWS デプロイには適用されません。
次の例では、以下のファイルが source
のルートのバンドルに表示されることを前提としています。
-
appspec.yml
-
my-file.txt
-
my-file-2.txt
-
my-file-3.txt
# 1) Copy only my-file.txt to the destination folder c:\temp. # files: - source: .\my-file.txt destination: c:\temp # # Result: # c:\temp\my-file.txt # # --------------------- # # 2) Copy only my-file-2.txt and my-file-3.txt to the destination folder c:\temp. # files: - source: my-file-2.txt destination: c:\temp - source: my-file-3.txt destination: c:\temp # # Result: # c:\temp\my-file-2.txt # c:\temp\my-file-3.txt # # --------------------- # # 3) Copy my-file.txt, my-file-2.txt, and my-file-3.txt (along with the appspec.yml file) to the destination folder c:\temp. # files: - source: \ destination: c:\temp # # Result: # c:\temp\appspec.yml # c:\temp\my-file.txt # c:\temp\my-file-2.txt # c:\temp\my-file-3.txt
次の例では、appspec.yml
が source
のルートのバンドルに、3 つのファイルを含む my-folder
という名前のフォルダとともに表示されることを前提としています。
-
appspec.yml
-
my-folder\my-file.txt
-
my-folder\my-file-2.txt
-
my-folder\my-file-3.txt
# 4) Copy the 3 files in my-folder (but do not copy my-folder itself) to the destination folder c:\temp. # files: - source: .\my-folder destination: c:\temp # # Result: # c:\temp\my-file.txt # c:\temp\my-file-2.txt # c:\temp\my-file-3.txt # # --------------------- # # 5) Copy my-folder and its 3 files to my-folder within the destination folder c:\temp. # files: - source: .\my-folder destination: c:\temp\my-folder # # Result: # c:\temp\my-folder\my-file.txt # c:\temp\my-folder\my-file-2.txt # c:\temp\my-folder\my-file-3.txt # # --------------------- # # 6) Copy the 3 files in my-folder to other-folder within the destination folder c:\temp. # files: - source: .\my-folder destination: c:\temp\other-folder # # Result: # c:\temp\other-folder\my-file.txt # c:\temp\other-folder\my-file-2.txt # c:\temp\other-folder\my-file-3.txt # # --------------------- # # 7) Copy only my-file-2.txt and my-file-3.txt to my-folder within the destination folder c:\temp. # files: - source: .\my-folder\my-file-2.txt destination: c:\temp\my-folder - source: .\my-folder\my-file-3.txt destination: c:\temp\my-folder # # Result: # c:\temp\my-folder\my-file-2.txt # c:\temp\my-folder\my-file-3.txt # # --------------------- # # 8) Copy only my-file-2.txt and my-file-3.txt to other-folder within the destination folder c:\temp. # files: - source: .\my-folder\my-file-2.txt destination: c:\temp\other-folder - source: .\my-folder\my-file-3.txt destination: c:\temp\other-folder # # Result: # c:\temp\other-folder\my-file-2.txt # c:\temp\other-folder\my-file-3.txt # # --------------------- # # 9) Copy my-folder and its 3 files (along with the appspec.yml file) to the destination folder c:\temp. If any of the files already exist on the instance, overwrite them. # files: - source: \ destination: c:\temp file_exists_behavior: OVERWRITE # # Result: # c:\temp\appspec.yml # c:\temp\my-folder\my-file.txt # c:\temp\my-folder\my-file-2.txt # c:\temp\my-folder\my-file-3.txt