Flutter: creación y lanzamiento de APK mediante GitHub Actions

Github Actions es una herramienta de Github que permite a los usuarios crear canalizaciones de CI/CD directamente en un proyecto de Github en lugar de ir a un sitio web de terceros. Nos ayuda a desarrollar, probar y lanzar nuestro proyecto de manera muy conveniente. En este artículo, vamos a crear un flujo de trabajo para nuestro proyecto flutter. Primero construiremos el proyecto usando el flujo de trabajo y luego lanzaremos el APK en la sección de artefactos de Github Actions.

Prerrequisitos : Comprensión básica de Github Actions y escritura de flujos de trabajo usando Github Actions

Entonces, ahora que tenemos la comprensión básica de cómo escribir un flujo de trabajo, primero creemos un proyecto de Github en flutter y creemos un archivo .yml llamado flutter-workflow.yml en el directorio .github/workflows debajo del directorio raíz del proyecto. Comience a escribir el código en ese archivo.

name: Flutter CI

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-java@v1
        with:
          java-version: '12.x'
      - uses: subosito/flutter-action@v1
        with:
          channel: 'beta'
      - run: flutter pub get
      - run: flutter format --set-exit-if-changed .
      - run: flutter analyze .
      - run: flutter build apk
      - uses: actions/upload-artifact@v1
        with:
          name: release-apk
          path: build/app/outputs/apk/release/app-release.apk

En primer lugar, le damos un nombre a nuestro flujo de trabajo, aquí el nombre es Flutter CI. Cada flujo de trabajo debe tener un bloque ‘activado que ordene que el flujo de trabajo se active tan pronto como se alcance la acción definida en ese bloque. En nuestro caso, hemos especificado que siempre que haya un nuevo impulso en la rama maestra, se activará el flujo de trabajo. Los trabajos son la parte crucial de un flujo de trabajo, que tendrá detalles sobre las tareas que deben realizarse. Aquí hemos especificado solo un trabajo que es build. Cada compilación debe pasar por una configuración del entorno virtual que se especifica en la sección de ejecución. Aquí estamos usando ubuntu-latest alojado en Github. 

Ahora viene la sección de pasos , en la que definimos los pasos que se ejecutarán cuando se active el flujo de trabajo. Para construir nuestro código, primero tenemos que pagar en nuestro repositorio escribiendo actions/checkout@v1. 

El próximo paso involucraría la configuración de java por actions/setup-java@v1 . A medida que configuramos java, también tenemos que configurar flutter para construir nuestra aplicación. Por lo tanto, definimos subosito/flutter-action@v1. Cuando hayamos configurado java y flutter, debemos obtener las dependencias de flutter para construir el proyecto. Entonces definimos flutter pub get. Una vez que obtengamos las dependencias, formateamos nuestro código, flutter format –set-exit-if-changed. análisis de aleteo. ejecuta el análisis estático de nuestro código.

Ahora viene la parte principal para construir el apk y subir el APK a la sección de artefactos. Para eso, decimos flutter build apk y subimos el APK usando actions/upload-artifact@v1 desde el directorio build/app/outputs/apk/release/app-release.apk a la sección Artifacts de nuestro proyecto. Después de escribir el código, confírmelo enviando un mensaje y vaya a la pestaña Acciones para ver el flujo de trabajo en ejecución.

Después de que se complete la compilación que se está ejecutando, haga clic nuevamente en la pestaña Acciones y luego haga clic en el último flujo de trabajo que acaba de completarse. Desplácese hasta la parte inferior de la página y verá un apk llamado release-apk en la sección de artefactos.

De esta manera, creamos un flujo de trabajo que le permitirá crear los artefactos cada vez que haya un nuevo impulso en la base de código principal, es decir, la rama maestra, y cargar el APK recién creado en la sección de artefactos de Github Actions.

Publicación traducida automáticamente

Artículo escrito por itsnitish22 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *