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á.
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 as instâncias do Amazon Linux, RHEL e Ubuntu Server, ou "\" para instâncias do Windows Server), todos os arquivos da sua revisão serão copiados na instância.
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 qualificado, como /root/destination/directory
(no Linux, RHEL e 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 de aplicativo substitui a versão sendo implantada no momento 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 a opçãofileExistsBehavior
API (ambas também são opcionais).
Aqui está uma seção files
de exemplo para uma instância Amazon Linux, Ubuntu Server ou RHEL.
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 (pasta) do Windows Server, eles podem ser facilmente adaptados para instâncias do Amazon Linux, Ubuntu Server e RHEL.
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