As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AppSpec seção 'arquivos' (EC2/Somente implantações locais)
Fornece informações CodeDeploy sobre quais arquivos da revisão do seu aplicativo devem ser instalados na instância durante o evento de instalação da implantação. Esta seção é necessária apenas quando você copia arquivos da sua revisão em locais na instância durante a implantação.
Esta seção tem a seguinte estrutura:
files: - source:
source-file-location-1
destination:destination-file-location-1
file_exists_behavior:DISALLOW|OVERWRITE|RETAIN
Vários pares destination
e source
podem ser definidos.
A instrução source
identifica um arquivo ou diretório de sua revisão para copiar na instância:
-
Se a
source
se referir a um arquivo, somente os arquivos especificados serão copiados na instância. -
Se a
source
se referir a um diretório, todos os arquivos no diretório serão copiados na instância. -
Se
source
for uma única barra (“/” para instâncias do Amazon Linux e Ubuntu Server ou “\” para instâncias do Windows Server), todos os arquivos da sua revisão serão copiados para a instância. RHEL
Os caminhos usados no source
são relativos ao arquivo appspec.yml
, que deve estar na raiz da sua revisão. Para obter detalhes sobre a estrutura de arquivos de uma revisão, consulte Planeje uma revisão para CodeDeploy.
A instrução destination
identifica a localização na instância em que os arquivos devem ser copiados. Esse deve ser um caminho totalmente qualificadoRHEL, como /root/destination/directory
(no Linux e no Ubuntu) ou c:\destination\folder
(no Windows).
source
e destination
são especificados com uma string.
A file_exists_behavior
instrução é opcional e especifica como CodeDeploy manipula arquivos que já existem em um local de destino de implantação, mas não faziam parte da implantação anterior bem-sucedida. Essa configuração ser um dos valores a seguir:
-
DISALLOW: A implantação falha. Esse também é o comportamento padrão se nenhuma opção for especificada.
-
OVERWRITE: a versão do arquivo da revisão do aplicativo que está sendo implantada atualmente substitui a versão que já está na instância.
-
RETAIN: a versão do arquivo que já está na instância é mantida e usada como parte da nova implantação.
Ao usar a configuração file_exists_behavior
, entenda que essa configuração:
-
só pode ser especificada uma vez e se aplica a todos os arquivos e diretórios listados sob
files:
. -
tem precedência sobre a
--file-exists-behavior
AWS CLI opção e afileExistsBehavior
API opção (ambas também são opcionais).
Aqui está uma files
seção de exemplo para um Amazon Linux, Ubuntu Server ou RHEL instância.
files: - source: Config/config.txt destination: /webapps/Config - source: source destination: /webapps/myApp
Neste exemplo, as duas operações a seguir são realizadas durante o evento Install:
-
Copie o arquivo
Config/config.txt
em sua revisão no caminho/webapps/Config/config.txt
na instância. -
Copie recursivamente todos os arquivos no diretório
source
da revisão para o diretório/webapps/myApp
na instância.
Exemplos da seção “files”
Os exemplos a seguir mostram como especificar a seção files
. Embora esses exemplos descrevam estruturas de arquivos e diretórios (pastas) do Windows Server, eles podem ser facilmente adaptados para Amazon Linux, Ubuntu Server e RHEL instâncias.
nota
Somente implantações EC2 /On-Premises usam a seção. files
Ela não se aplica às implantações do AWS Lambda.
Para os exemplos a seguir, supomos que esses arquivos apareçam no pacote na raiz de 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
Para os seguintes exemplos, supomos que appspec.yml
apareça no pacote na raiz de source
, juntamente com uma pasta chamada my-folder
que contém três arquivos:
-
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