1-enero-2022
admin

Git Actions de GitHub (Parte 2)

Continuamos con algún ejemplo de GitHub Action

3 – get version from pom workflow.yml: un job extrae la version del pom para que se utilice tanto en otros jobs como en steps posteriores.

//Nombre del workflow
name: Get version from pom.xml
//Evento que desencadenará el workflow
on: [push]
//Configuración por defecto.
defaults:
    run:
        //Se indica el directorio desde donde se ejecutarán los jobs.
        working-directory: example1-gitactions
//lista de trabajos a realizar
jobs:
    //Job a ejecutar 
    get-version:
        //Máquina en la que se va a ejecutar el job 
        runs-on: ubuntu-latest
        //Lista de variables de salida del job
        outputs:
            output_version: ${{ steps.project_version.outputs.version }}     
        //Lista de steps/tareas a realizar dentro del job 
        steps:
            //Tarea que hace un checkout del repositorio
            - uses: actions/checkout@v2
            //Tarea que instala en la máquina java 11
            - name: Set up JDK 1.11
              uses: actions/setup-java@v1
              with:
                java-version: 1.11
            //Tarea extrae a la variable version, la version existente en el pom.xml
            - name: Extract Maven project version
              run: echo ::set-output name=version::$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
              //identificador asignado a la tarea
              id: project_version
            //Tarea que hace un echo de la variable creada en la tarea anterior
            - name: Show extracted  Maven project version
              run: echo "Version is ${{ steps.project_version.outputs.version }}"
    //Job a ejecutar   
    use-version:
        //Se indica que este job va a depender del anterior. Es decir, se va a ejecutar el otro primero.
        needs: get-version
        //Máquina en la que se va a ejecutar el job 
        runs-on: ubuntu-latest
        //Lista de steps/tareas a realizar dentro del job
        steps:
            //Tarea que hace un checkout del repositorio
            - uses: actions/checkout@v2
            //Tarea que hace un echo de la variable creada en el job anterior
            - name: Show extracted  Maven project version
              run: echo "Version is ${{ needs.get-version.outputs.output_version }}"

Ejemplo Git Action 3-1

Ejemplo Git Action 3-2

4 – env get version from pom workflow.yml: en un job se estrae la version del pom y la mete en el environment. Se puede ver como se puede utlizar en los steps posteriores pero no en otros jobs

//Nombre del workflow
name: Get version from pom.xml - env
 //Evento que desencadenará el workflow
on: [push]
//Configuración por defecto.
defaults:
 run:
  //Se indica el directorio desde donde se ejecutarán los jobs.
  working-directory: example1-gitactions
//lista de variables de entorno inicializadas para usar en los jobs
env: 
  GITHUB_RELEASE_VERSION: "prueba"
  
//lista de trabajos a realizar
jobs:
 //Job a ejecutar 
 get-version-env:
    //Máquina en la que se va a ejecutar el job 
    runs-on: ubuntu-latest
    //Lista de steps/tareas a realizar dentro del job 
    steps:
      //Tarea que hace un checkout del repositorio
      - uses: actions/checkout@v2
      //Tarea que instala en la máquina java 11
      - name: Set up JDK 1.11
        uses: actions/setup-java@v1
        with:
          java-version: 1.11
      //Tarea extrae a la variable de entorno GITHUB_RELEASE_VERSION, la version existente en el pom.xml
      - name: Extract Maven project version
        run: echo "GITHUB_RELEASE_VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_ENV
      //Tarea que hace un echo de la variable de entorno GITHUB_RELEASE_VERSION. Mostrará el valor de la version del pom
      - name: Show extracted  Maven project version
        run: echo "Version is ${{ env.GITHUB_RELEASE_VERSION }}"
 //Job a ejecutar 
 use-version:
    //Se indica que este job va a depender del anterior. Es decir, se va a ejecutar el otro primero.
    needs: get-version-env
    //Máquina en la que se va a ejecutar el job 
    runs-on: ubuntu-latest
    //Lista de steps/tareas a realizar dentro del job 
    steps:
      //Tarea que hace un checkout del repositorio
      - uses: actions/checkout@v2
      //Tarea que instala en la máquina java 11
      - name: Set up JDK 1.11
        uses: actions/setup-java@v1
        with:
          java-version: 1.11
      //Tarea que hace un echo de la variable de entorno GITHUB_RELEASE_VERSION. Mostrará el valor por defecto "prueba"
      - name: Show extracted  Maven project version
        run: echo "Version is ${{ env.GITHUB_RELEASE_VERSION }}"

Ejemplo Git Action 4-1

Ejemplo Git Action 4-2

Nota: Repositorio Github

Comentarios cerrados.

Categorias

Linkedin