Héroe de GitHub

[ad_1]

Héroe de GitHub

Las versiones de GitHub brindan un método de fácil acceso para que los usuarios finales descarguen archivos binarios de software versionados. Puede crearlos manualmente, pero es mucho más fácil dejar que GitHub Actions los cree automáticamente usando etiquetas de lanzamiento creadas en su repositorio.

Uso de ediciones marcadas

Las etiquetas son una característica existente en Git con soporte extendido ofrecido por GitHub con lanzamientos que ofrecen un lugar para alojar archivos binarios con registros de cambios asociados.

Puede crear una etiqueta como una rama, excepto que es un punto fijo que no se mueve y siempre apunta a una confirmación específica. Esto es útil para crear versiones con versiones, y la mayoría de las personas crearán etiquetas utilizando un formato de publicación semántica (Major.Minor.Patch).

Las etiquetas se pueden enviar a GitHub, donde se pueden usar en otros flujos de trabajo de automatización. En este caso, configuraremos un script de GitHub Actions que escuchará las confirmaciones que contengan versiones marcadas y publicará automáticamente los artefactos de compilación en una versión.

Configurar acciones de GitHub

Primero querrás asegurarte de tener una compilación de GitHub Actions que funcione y que tus scripts de compilación funcionen correctamente. La configuración exacta de su flujo de trabajo dependerá del tipo de proyecto que esté creando, pero en general no desea depurar dos problemas a la vez, por lo que debe agregar la versión de lanzamiento después de que ya tenga artefactos en funcionamiento. Puede leer nuestra guía para configurar una compilación de GitHub Actions para obtener más información.

Lo primero que debe hacer es editar la sección «incluido» de su secuencia de comandos de acción para que también se ejecute al crear etiquetas. De manera predeterminada, probablemente tenga el evento «push» para el seguimiento de lanzamientos o la rama maestra. Deberá agregar etiquetas y establecer un filtro. Para todas las etiquetas, solo use un comodín:

Al final del flujo de trabajo, después de que todo esté construido, crearemos el registro de lanzamiento. Este es un paso de dos partes: primero necesitaremos crear un nuevo objeto Release con todos los metadatos, y luego podemos usar la URL de publicación derivada para cargar los artefactos. Puede crear varios pasos de carga si tiene varios artefactos.

En ambos casos, solo querremos realizar estos pasos si el flujo de trabajo se está ejecutando debido a una etiqueta. Podemos hacer esto con un simple if comprobar y comprobar si github.ref objeto es una etiqueta que almacena el nombre de referencia de la rama o etiqueta que activó el flujo de trabajo.

El primer paso es crear un objeto Release, que se puede hacer con el siguiente paso. No es necesario crear manualmente el token de GitHub; es un token especial al que siempre se puede hacer referencia mediante scripts de acción.

     - name: Create Release
      if: startsWith(github.ref, 'refs/tags/')
      uses: actions/create-release@v1
      id: create_release
      with:
        draft: false
        prerelease: false
        release_name: ${{ github.ref }}
        tag_name: ${{ github.ref }}
        body_path: CHANGELOG.md
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Tenga en cuenta que el registro de cambios para el lanzamiento se almacena en CHANGELOG.mdcual debe existir para que el flujo de trabajo funcione correctamente. Puede editar esto con cualquier etiqueta para cambiar la reducción que muestra GitHub en la página de publicación. Existen herramientas para generar esto automáticamente con mensajes de participación, pero la mayoría de los equipos tendrán su propio método para administrar esto de todos modos.

A continuación, puede comenzar a cargar artefactos. Esto usa la URL de carga del paso anterior y deberá especificar una ruta donde se pueda encontrar junto con el nombre para mostrar del recurso.

     - name: Upload Release
      if: startsWith(github.ref, 'refs/tags/')
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: Oxide.Ext.Sanctuary/bin/Release/net48/Oxide.Ext.Sanctuary.dll
        asset_name: Oxide.Ext.Sanctuary.dll
        asset_content_type: application/octet-stream

Tenga en cuenta que el tipo de contenido se establece en octet-stream, que es típico de datos binarios como ejecutables y archivos DLL. Si está publicando un ZIP o algún otro tipo de archivo, querrá cambiar esto, aunque solo afecta las imágenes de la página de publicación.

Ahora puede confirmar los cambios en el flujo de trabajo de la acción y luego crear una nueva etiqueta y enviarla a GitHub. Debería ver que se crea una nueva ejecución de flujo de trabajo, excepto que en lugar de ejecutarse fuera de la rama maestra, se ejecuta debido a la etiqueta:

Una vez hecho esto, verá el lanzamiento en la barra lateral de GitHub.



[ad_2]

Créditos: Anthony Heddings (How-To Geek)

¡¡Si te ha gustado el post compártelo en tus redes sociales para que llegue a más gente!!

Si te ha gustado vota este post

Publicaciones Similares