Añadir componentes de repositorio y código fuente a un blueprint - Amazon CodeCatalyst

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.

Añadir componentes de repositorio y código fuente a un blueprint

Amazon utiliza un repositorio CodeCatalyst para almacenar el código. El repositorio toma un nombre como entrada. La mayoría de los componentes se almacenan en un repositorio, como los archivos de código fuente, los flujos de trabajo y otros componentes, como los entornos de desarrollo gestionados (MDE). El componente del repositorio de origen también exporta los componentes que se utilizan para administrar archivos y activos estáticos. Los repositorios tienen restricciones de nombre. Para obtener más información, consulte Almacene código y colabore en él con los repositorios de código fuente en CodeCatalyst.

const repository = new SourceRepository(this, { title: 'my-new-repository-title', });

Para importar componentes de código fuente y repositorio de CodeCatalyst blueprints de Amazon

En su blueprint.ts archivo, añada lo siguiente:

import {...} from '@caws-blueprint-component/caws-source-repositories'

Añadir un archivo

Puede escribir un archivo de texto en un repositorio con la SourceFile construcción. La operación es uno de los casos de uso más comunes y requiere un repositorio, una ruta de archivo y contenido de texto. Si la ruta del archivo no existe en un repositorio, el componente crea todas las carpetas necesarias.

new SourceFile(repository, `path/to/my/file/in/repo/file.txt`, 'my file contents');
nota

Si escribe dos archivos en la misma ubicación dentro del mismo repositorio, la implementación más reciente sobrescribe la anterior. Puede utilizar la función para superponer el código generado y es especialmente útil para ampliar el código que puedan haber generado los planos personalizados.

Añadir un archivo genérico

Puede escribir bits arbitrarios en su repositorio. Puedes leer desde un búfer y usar la File construcción.

new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());

Copiar archivos

Puede empezar con el código generado copiando y pegando el código de inicio y, a continuación, generando más código sobre esa base. Coloca el código dentro del static-assets directorio y, a continuación, apunta a ese código con la StaticAsset construcción. En este caso, la ruta siempre comienza en la raíz del static-assets directorio.

const starterCode = new StaticAsset('path/to/file/file.txt') const starterCodeText = new StaticAsset('path/to/file/file.txt').toString() const starterCodeRawContent = new StaticAsset('path/to/image/hello.png').content() const starterCodePath = new StaticAsset('path/to/image/hello.png').path() // starterCodePath is equal to 'path/to/image/hello.png'

Una subclase de StaticAsset esSubstitutionAsset. La subclase funciona exactamente igual, pero en su lugar puedes sustituir el bigote por encima del archivo. Puede resultar útil para realizar la generación de copy-and-replace estilos.

La sustitución de activos estáticos utiliza un motor de plantillas Moustache para renderizar los archivos estáticos que se incluyen en el repositorio fuente generado. Las reglas de creación de plantillas de Moustache se aplican durante la renderización, lo que significa que todos los valores están codificados en HTML de forma predeterminada. Para renderizar HTML sin escapes, utilice la sintaxis de triple bigote. {{{name}}} Para obtener más información, consulta las reglas de creación de plantillas para bigotes.

nota

Si se utiliza un sustituto sobre archivos que no son interpretables por texto, se pueden producir errores.

const starterCodeText = new SubstitionAsset('path/to/file/file.txt').subsitite({ 'my_variable': 'subbed value1', 'another_variable': 'subbed value2' })

Dirigirse a varios archivos

Los activos estáticos admiten la segmentación global mediante una función estática activada StaticAsset y sus subclases llamadasfindAll(...), que devuelve una lista de los activos estáticos precargados con sus rutas, contenidos y mucho más. Puede encadenar la lista con File construcciones para copiar y pegar el contenido en el directorio. static-assets

new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());

Crear un repositorio nuevo y añadir archivos

Puede usar un componente de repositorio para crear un repositorio nuevo en un proyecto generado. A continuación, puede añadir archivos o flujos de trabajo al repositorio creado.

import { SourceRepository } from '@amazon-codecatalyst/codecatalyst-source-repositories'; ... const repository = new SourceRepository(this, { title: 'myRepo' });

El siguiente ejemplo muestra cómo añadir archivos y flujos de trabajo a un repositorio existente:

import { SourceFile } from '@amazon-codecatalyst/codecatalyst-source-repositories'; import { Workflow } from '@amazon-codecatalyst/codecatalyst-workflows'; ... new SourceFile(repository, 'README.md', 'This is the content of my readme'); new Workflow(this, repository, {/**...workflowDefinition...**/});

La combinación de los dos fragmentos de código genera un único repositorio denominado myRepo con un archivo fuente README.md y un CodeCatalyst flujo de trabajo en la raíz.