

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplo: Publicación de archivos en Amazon S3
<a name="s3-pub-action-example-workflow"></a>

El siguiente flujo de trabajo de ejemplo incluye la acción **Amazon S3 publish**, junto con una acción de compilación. El flujo de trabajo crea un sitio web de documentación estática y después lo publica en Amazon S3, donde está alojado. El flujo de trabajo consta de los siguientes componentes que se ejecutarán en orden:
+ Un **desencadenador**: este desencadenador inicia la ejecución automática del flujo de trabajo cuando se introduce un cambio en el repositorio de código fuente. Para obtener más información acerca de los desencadenadores, consulte [Inicio de un flujo de trabajo y ejecución automática mediante desencadenadores](workflows-add-trigger.md).
+ Una acción de **compilación** (`BuildDocs`): al activarla, la acción crea un sitio web de documentación estática (`mkdocs build`) y añade los archivos HTML asociados y los metadatos auxiliares a un artefacto llamado `MyDocsSite`. Para obtener más información sobre la acción de compilación, consulte [Compilación con flujos de trabajo](build-workflow-actions.md).
+ Una acción **Amazon S3 publish** (`PublishToS3`): al finalizar la acción de compilación, esta acción copia el sitio del artefacto `MyDocsSite` a Amazon S3 para su alojamiento.

**nota**  
El siguiente ejemplo de flujo de trabajo tiene fines ilustrativos y no funcionará sin una configuración adicional.

**nota**  
En el código de YAML que aparece a continuación, puede omitir la sección `Connections:` si lo desea. Si omite esta sección, debe asegurarse de que el rol especificado en el campo **Rol de IAM predeterminado** de su entorno incluya los permisos y las políticas de confianza requeridos por la acción **Amazon S3 publish**. Para obtener más información sobre cómo configurar un entorno con un rol de IAM predeterminado, consulte [Creación de un entorno](deploy-environments-creating-environment.md). Para obtener más información sobre los permisos y las políticas de confianza que requiere la acción **Amazon S3 publish**, consulte la descripción de la propiedad [Role](s3-pub-action-ref.md#s3.pub.environment.connections.role) en la [Acción Amazon S3 publish en YAML](s3-pub-action-ref.md).

```
Name: codecatalyst-s3-publish-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  BuildDocs:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Steps:
        - Run: echo BuildDocs started on `date`
        - Run: pip install --upgrade pip
        - Run: pip install mkdocs
        - Run: mkdocs build
        - Run: echo BuildDocs completed on `date`
    Outputs:
      Artifacts:
      - Name: MyDocsSite
        Files:
          - "site/**/*"
        
  PublishToS3:
    Identifier: aws/s3-publish@v1
    Environment:
      Name: codecatalyst-s3-publish-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-s3-publish-build-role
    Inputs:
      Sources:
        - WorkflowSource
      Artifacts:
        - MyDocsSite
    Configuration:      
      DestinationBucketName: amzn-s3-demo-bucket
      SourcePath: /artifacts/PublishToS3/MyDocSite/site
      TargetPath: my/docs/site
```