Flujos de trabajo de equipo con entornos de backend de la CLI de Amplify - AWS Amplify

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.

Flujos de trabajo de equipo con entornos de backend de la CLI de Amplify

Una implementación de rama de entidad consta de unfrontend, y (opcionalmente) unBack-endMedio ambiente. La interfaz se compila e implementa en una red de entrega de contenido global (CDN), mientras que la CLI de Amplify implementa el backend en AWS. Para obtener más información acerca de este escenario de implementación, consulteIntroducción a las implementaciones continuas de fullstack.

Puede usar la consola de Amplify para implementar de forma continua recursos de backend como las API de GraphQL y las funciones de Lambda con su implementación de ramificaciones de características. Puede usar los siguientes modelos para implementar su backend y front-end con la consola de Amplify:

Flujo de trabajo de ramificación de característica

  • Cree entornos de backend deproducción, pruebas y desarrollo con la CLI de Amplify.

  • MapProd.ytestDe aPrincipal(anteriormente denominado maestro) yDesarrollarRamificación.

  • Los compañeros de equipo pueden usar el entorno de backend de desarrollo para realizar pruebas en ramificaciones de características.

  1. Instale la CLI de Amplify para inicializar un nuevo proyecto de Amplify.

    npm install -g @aws-amplify/cli
  2. Inicialice un entorno de backend de producción para su proyecto. Si no tiene ningún proyecto, cree uno con herramientas de arranque como create-react-app o Gatsby.

    create-react-app next-unicorn cd next-unicorn amplify init ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: prod ... amplify push
  3. Añada entornos de backend de pruebas y desarrollo.

    amplify env add ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: test ... amplify push amplify env add ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: dev ... amplify push
  4. Inserte código en el repositorio de Git que elija (en este ejemplo supondremos que lo ha insertado en el principal).

    git commit -am 'Added dev, test, and prod environments' git push origin main
  5. Visite Amplify Console en AWS Management Console para ver su entorno back-end actual. Desplácese por un nivel hacia arriba desde la ruta de exploración para ver una lista de todos los entornos back-end creados en elEntornos de backendPestaña.

  6. Cambie alEntornos frontendy conecte su proveedor de repositorio yPrincipalRamificación.

  7. En la pantalla de configuración de compilación, seleccione un entorno de back-end existente para configurar la implementación continua con la rama principal. Elija producción en el menú desplegable y conceda el rol de servicio a la consola de Amplify. Elija Save and deploy (Guardar e implementar). Una vez que se complete la compilación, obtendrá una implementación de ramificaciones principales disponible enhttps://main.appid.amplifyapp.com.

  8. ConectarDesarrollaren Amplify Console (supongaDesarrollaryPrincipalRamificación son las mismas en este momento). Elija el entorno de backend de pruebas.

  9. La consola de Amplify ya está configurada. Puede empezar a trabajar en nuevas características en una ramificación de características. Añada la funcionalidad de backend mediante el entorno de backend de desarrollo desde su estación de trabajo local.

    git checkout -b newinternet amplify env checkout dev amplify add api ... amplify push
  10. Una vez que termine de trabajar en la característica, confirme su código y cree una solicitud de extracción para realizar una revisión interna.

    git commit -am 'Decentralized internet v0.1' git push origin newinternet
  11. Para obtener una vista previa de cómo se verán los cambios, vaya a la consola y conecte su ramificación de características. Nota: Si tiene la CLI de AWS instalada en el sistema (no la CLI de Amplify), puede conectar una ramificación directamente desde su terminal. Encontrará su appid yendo a App settings > General > AppARN (Configuración de la aplicación > General > AppARN): arn:aws:amplify:<region>:<region>:apps/<appid>

    aws amplify create-branch --app-id <appid> --branch-name <branchname> aws amplify start-job --app-id <appid> --branch-name <branchname> --job-type RELEASE
  12. Se podrá acceder a su característica en https://newinternet.appid.amplifyapp.com para compartirla con sus compañeros de equipo. Si todo parece correcto, combine las relaciones públicas en la ramificación de desarrollo.

    git checkout develop git merge newinternet git push
  13. De este modo se pondrá en marcha una compilación que actualizará el backend y el front-end en la consola de Amplify con una implementación de ramificaciones en https://dev.appid.amplifyapp.com. Puede compartir este enlace con las partes interesadas internas para que puedan revisar la nueva característica.

  14. Elimine su ramificación de características de Git, la consola de Amplify y quite el entorno de backend de la nube (siempre puede poner en marcha uno nuevo basado en la ejecución de «amplify env checkout prod» y de «amplify env add»).

    git push origin --delete newinternet aws amplify delete-branch --app-id <appid> --branch-name <branchname> amplify env remove dev

Flujo de trabajo de GitFlow

GitFlow utiliza dos ramificaciones para registrar el historial del proyecto. LaPrincipalRamificación (anteriormente conocida como ramificación maestra) realiza un seguimiento del código de versión solo y delDesarrollarRamificación se usa como ramificación de integración para nuevas características. GitFlow simplifica el desarrollo paralelo aislando el nuevo desarrollo del trabajo realizado. El nuevo desarrollo (como correcciones de características y de errores no urgentes) se lleva a cabo en las ramificaciones de características. Cuando el desarrollador considera que el código está listo para lanzamiento, la ramificación de características se combina de nuevo en la ramificación de desarrollo de integración. Las únicas confirmaciones a la rama principal son las fusiones deversiónRamificación yhotfix(para corregir errores de emergencia).

En el siguiente diagrama se muestra una configuración recomendada con GitFlow. Puede seguir el mismo proceso tal como se describe en la sección sobre el flujo de trabajo de ramificación de característica anterior.

Entorno de pruebas por desarrollador

  • Cada desarrollador de un equipo crea un entorno de pruebas en la nube que es independiente de su equipo local. Esto permite a los desarrolladores trabajar de forma aislada entre sí sin sobrescribir los cambios de los demás miembros del equipo.

  • Cada ramificación de la consola de Amplify tiene su propio backend. Esto garantiza que la consola de Amplify utilice el repositorio de Git como una fuente único desde la que implementar cambios, en lugar de confiar a los desarrolladores del equipo que envíen manualmente su backend o front-end a producción desde sus equipos locales.

  1. Instale la CLI de Amplify para inicializar un nuevo proyecto de Amplify.

    npm install -g @aws-amplify/cli
  2. Inicialice el entorno de backend kita para su proyecto. Si no tiene ningún proyecto, cree uno con herramientas de arranque como create-react-app o Gatsby.

    cd next-unicorn amplify init ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: kita ... amplify push
  3. Inserte código en el repositorio de Git que elija (en este ejemplo supondremos que lo ha insertado en el principal (anteriormente denominado maestro).

    git commit -am 'Added kita sandbox' git push origin main
  4. Connect su repositorio >PrincipalEn la consola de Amplify.

  5. La consola de Amplify detectará los entornos de backend que ha creado la CLI de Amplify. Elija Create new environment (Crear nuevo entorno) en el menú desplegable y conceda el rol de servicio a la consola de Amplify. Elija Save and deploy (Guardar e implementar). Una vez que se complete la compilación, obtendrá una implementación de ramificaciones principales disponible enhttps://main.appid.amplifyapp.comCon un nuevo entorno de backend que se enlaza a la ramificación.

  6. ConectarDesarrollaren Amplify Console (supongaDesarrollaryPrincipalRamificación son las mismas en este momento) y elijaCreación de un nuevo entorno. Una vez que se complete la compilación, obtendrá una implementación de ramificaciones de desarrollo disponible en https://develop.appid.amplifyapp.com con un nuevo entorno de backend que se enlaza a la ramificación.