Tutorial: código de Lint mediante una GitHub acción en un flujo de trabajo - 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.

Tutorial: código de Lint mediante una GitHub acción en un flujo de trabajo

En este tutorial, añadirás la GitHub acción Super-Linter a un flujo de trabajo de Amazon CodeCatalyst . La acción Super-Linter inspecciona el código, encuentra áreas en las que el código contiene errores, problemas de formato y construcciones sospechosas y, a continuación, envía los resultados a la consola). CodeCatalyst Tras añadir el linter al flujo de trabajo, ejecute el flujo de trabajo para lint una aplicación Node.js de ejemplo (). app.js A continuación, corrige los problemas detectados y vuelve a ejecutar el flujo de trabajo para comprobar si las soluciones han funcionado.

Requisitos previos

Antes de empezar, necesitarás:

  • Un CodeCatalyst espacio con un conectado Cuenta de AWS. Para obtener más información, consulte Creando un espacio.

  • Se llama un proyecto vacío en tu CodeCatalyst espaciocodecatalyst-linter-project. Elige la opción Empezar desde cero para crear este proyecto.

    Para obtener más información, consulte Crear un proyecto vacío en Amazon CodeCatalyst.

Paso 1: Crea un repositorio de código fuente

En este paso, se crea un repositorio de origen en CodeCatalyst. Utilizará este repositorio para almacenar el archivo fuente de la aplicación de muestraapp.js, para este tutorial.

Para obtener más información sobre los repositorios de código fuente, consulteCrear un repositorio de código fuente.

Para crear un repositorio de origen
  1. Abra la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Navegue hasta su proyecto,codecatalyst-linter-project.

  3. En el panel de navegación, elija Código y, a continuación, elija Repositorios de origen.

  4. Elija Agregar repositorio y, a continuación, elija Crear repositorio.

  5. En Nombre del repositorio, ingresa:

    codecatalyst-linter-source-repository
  6. Seleccione Crear.

Paso 2: Agregue un archivo app.js

En este paso, añades un app.js archivo a tu repositorio de código fuente. app.jsContiene un código de función que contiene algunos errores que el linter encontrará.

Para añadir el archivo app.js
  1. En la CodeCatalyst consola, elige tu proyecto,codecatalyst-linter-project.

  2. En el panel de navegación, elija Código y, a continuación, elija Repositorios de origen.

  3. De la lista de repositorios de origen, elige tu repositorio,codecatalyst-linter-source-repository.

  4. En Archivos, selecciona Crear archivo.

  5. En el cuadro de texto, introduce el siguiente código:

    // const axios = require('axios') // const url = 'http://checkip.amazonaws.com/'; let response; /** * * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format * @param {Object} event - API Gateway Lambda Proxy Input Format * * Context doc: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html * @param {Object} context * * Return doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html * @returns {Object} object - API Gateway Lambda Proxy Output Format * */ exports.lambdaHandler = async (event, context) => { try { // const ret = await axios(url); response = { statusCode: 200, 'body': JSON.stringify({ message: 'hello world' // location: ret.data.trim() }) } } catch (err) { console.log(err) return err } return response }
  6. En Nombre de archivo, introduzcaapp.js. Mantenga las demás opciones predeterminadas.

  7. Elija Commit (Confirmar).

    Ahora ha creado un archivo llamadoapp.js.

Paso 3: Crea un flujo de trabajo que ejecute la acción Super-Linter

En este paso, crearás un flujo de trabajo que ejecute la acción Super-Linter al insertar código en tu repositorio de código fuente. El flujo de trabajo consta de los siguientes componentes básicos, que se definen en un archivo YAML:

  • Un disparador: este activador inicia la ejecución automática del flujo de trabajo al introducir un cambio en el repositorio de origen. Para obtener más información acerca de los disparadores, consulte Iniciar un flujo de trabajo ejecutado automáticamente con activadores.

  • Una acción de «GitHub Acciones»: al activarla, la acción GitHub Acciones ejecuta la acción Super-Linter, que a su vez inspecciona todos los archivos del repositorio de origen. Si el filtro detecta un problema, la acción del flujo de trabajo falla.

Para crear un flujo de trabajo que ejecute la acción Super-Linter
  1. En la CodeCatalyst consola, elige tu proyecto,. codecatalyst-linter-project

  2. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

  3. Seleccione Crear flujo de trabajo.

  4. En Repositorio de origen, elijacodecatalyst-linter-source-repository.

  5. Para Branch, elijamain.

  6. Seleccione Crear.

  7. Elimina el código de ejemplo de YAML.

  8. Agrega el siguiente YAML:

    Name: codecatalyst-linter-workflow SchemaVersion: "1.0" Triggers: - Type: PUSH Branches: - main Actions: SuperLinterAction: Identifier: aws/github-actions-runner@v1 Configuration: Steps: github-action-code

    En el código anterior, github-action-codesustitúyalo por el código de acción de SuperLinter, tal y como se indica en los pasos siguientes de este procedimiento.

  9. Ve a la página de Super-Linter en Marketplace. GitHub

  10. En steps: (minúsculas), busca el código y pégalo en el CodeCatalyst flujo de trabajo (mayúsculas). Steps:

    Ajusta el código de GitHub acción para que se ajuste a CodeCatalyst los estándares, tal y como se muestra en el código siguiente.

    Su CodeCatalyst flujo de trabajo ahora tiene el siguiente aspecto:

    Name: codecatalyst-linter-workflow SchemaVersion: "1.0" Triggers: - Type: PUSH Branches: - main Actions: SuperLinterAction: Identifier: aws/github-actions-runner@v1 Configuration: Steps: - name: Lint Code Base uses: github/super-linter@v4 env: VALIDATE_ALL_CODEBASE: "true" DEFAULT_BRANCH: main
  11. (Opcional) Selecciona Validar para asegurarte de que el código YAML es válido antes de confirmarlo.

  12. Selecciona Confirmar, introduce un mensaje de confirmación, selecciona tu codecatalyst-linter-source-repository repositorio y vuelve a elegir Confirmar.

    Ahora ha creado un flujo de trabajo. La ejecución de un flujo de trabajo se inicia automáticamente debido al activador definido en la parte superior del flujo de trabajo.

Para ver la ejecución del flujo de trabajo en curso
  1. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

  2. Elija el flujo de trabajo que acaba de crear:. codecatalyst-linter-workflow

  3. En el diagrama de flujo de trabajo, elige SuperLinterAction.

  4. Espere a que la acción falle. Se esperaba este error porque Linter encontró problemas en el código.

  5. Deje la CodeCatalyst consola abierta y vaya aPaso 4: Solucione los problemas encontrados por el Super-Linter.

Paso 4: Solucione los problemas encontrados por el Super-Linter

El Super-Linter debería haber encontrado problemas en el app.js código, así como en el README.md archivo incluido en el repositorio fuente.

Para solucionar los problemas encontrados por Linter
  1. En la CodeCatalyst consola, seleccione la pestaña Registros y, a continuación, elija Lint Code Base.

    Se muestran los registros que generó la acción de Super-Linter.

  2. En los registros de Super-Linter, desplácese hacia abajo hasta aproximadamente la línea 90, donde se encuentra el origen de los problemas. Tienen un aspecto similar al siguiente:

    /github/workspace/hello-world/app.js:3:13: Extra semicolon. /github/workspace/hello-world/app.js:9:92: Trailing spaces not allowed. /github/workspace/hello-world/app.js:21:7: Unnecessarily quoted property 'body' found. /github/workspace/hello-world/app.js:31:1: Expected indentation of 2 spaces but found 4. /github/workspace/hello-world/app.js:32:2: Newline required at end of file but not found.
  3. Corrija app.js y README.md en su repositorio de código fuente y confirme los cambios.

    sugerencia

    Para corregirloREADME.md, markdown añádelo al bloque de código de la siguiente manera:

    ```markdown Setup examples: ... ```

    Los cambios inician otro flujo de trabajo que se ejecuta automáticamente. Espere a que finalice el flujo de trabajo. Si ha solucionado todos los problemas, el flujo de trabajo debería funcionar correctamente.

Limpieza

Limpie CodeCatalyst para eliminar los rastros de este tutorial de su entorno.

Para limpiar en CodeCatalyst
  1. Abre la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Eliminarcodecatalyst-linter-source-repository.

  3. Eliminarcodecatalyst-linter-workflow.

En este tutorial, aprendiste a añadir la GitHub acción SuperLinter a un CodeCatalyst flujo de trabajo para borrar parte del código.