Cómo compartir artefactos y archivos entre acciones
Un artefacto es el resultado de una acción de flujo de trabajo y, por lo general, consiste en una carpeta o un archivo de archivos. Los artefactos son importantes porque permiten compartir archivos e información entre acciones.
Por ejemplo, puede que tenga una acción de creación que genere un archivo sam-template.yml
, pero que quiera una acción de implementación para usarlo. En este escenario, utilizaría un artefacto para permitir que la acción de creación comparta el archivo sam-template.yml
con la acción de implementación. El código podría tener un aspecto similar al siguiente:
Actions:
BuildAction:
Identifier: aws/build@v1
Steps:
- Run: sam package --output-template-file sam-template.yml
Outputs:
Artifacts:
- Name: MYARTIFACT
Files:
- sam-template.yml
DeployAction:
Identifier: aws/cfn-deploy@v1
Inputs:
Artifacts:
- MYARTIFACT
Configuration:
template: sam-template.yml
En el código anterior, la acción de creación (BuildAction
) genera un archivo sam-template.yml
y después lo añade a un artefacto de salida denominado MYARTIFACT
. Una acción de implementación posterior (DeployAction
) especifica MYARTIFACT
como entrada, lo que le da acceso al archivo sam-template.yml
.
Temas
¿Puedo compartir artefactos sin especificarlos como salidas y entradas?
Sí, puede compartir artefactos entre acciones sin especificarlos en las secciones Outputs
y Inputs
del código de YAML de sus acciones. Para ello, debe activar el uso compartido de computación. Para obtener más información sobre el uso compartido de computación y cómo especificar los artefactos cuando está activado, consulte Uso compartido de recursos de computación entre acciones.
nota
Si bien la característica de computación compartida le permite simplificar el código de YAML del flujo de trabajo al eliminar la necesidad de usar las secciones Outputs
y Inputs
, esta característica tiene limitaciones que debe tener en cuenta antes de activarla. Para obtener información acerca de esas limitaciones, consulte Consideraciones sobre el uso compartido de recursos de computación.
¿Puedo compartir artefactos entre flujos de trabajo?
No, no puede compartir artefactos entre diferentes flujos de trabajo; sin embargo, puede compartir artefactos entre acciones dentro del mismo flujo de trabajo.