GitHub Release (Tarea)
Azure Pipelines
Use esta tarea en la canalización para crear, editar o descartar una GitHub versión .
Requisitos previos
GitHub conexión de servicio
Esta tarea requiere una conexión GitHub servicio con permiso de escritura en el repositorio GitHub usuario. Puede crear una conexión GitHub servicio en el Azure Pipelines proyecto. Una vez creado, use el nombre de la conexión de servicio en la configuración de esta tarea.
Fragmento de código YAML
# GitHub Release
# Create, edit, or delete a GitHub release
- task: GitHubRelease@0
inputs:
gitHubConnection:
#repositoryName: '$(Build.Repository.Name)'
#action: 'create' # Options: create, edit, delete
#target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
#tagSource: 'auto' # Required when action == Create# Options: auto, manual
#tagPattern: # Optional
#tag: # Required when action == Edit || Action == Delete || TagSource == Manual
#title: # Optional
#releaseNotesSource: 'file' # Optional. Options: file, inline
#releaseNotesInline: Use this option to manually enter release notes. Use with releaseNotesSource = inline
#releaseNotesFilePath: # Optional. Use the contents of a file as release notes.
#releaseNotes: # Optional
#assets: '$(Build.ArtifactStagingDirectory)/*' # Optional
#assetUploadMode: 'delete' # Optional. Options: delete, replace
#isDraft: false # Optional
#isPreRelease: false # Optional
#addChangeLog: true # Optional
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
#releaseTag: # Required when compareWith == LastReleaseByTag
Argumentos
| Argumento | Descripción |
|---|---|
gitHubConnection GitHub conexión | (Obligatorio) Escriba el nombre de la conexión de servicio para GitHub conexión. Obtenga más información sobre las conexiones de servicio aquí. |
repositoryName Repositorio | (Obligatorio) Seleccione el nombre del GitHub en el que GitHub se crearán las versiones. |
action Acción | (Obligatorio) Seleccione el tipo de operación de versión que desea realizar. Esta tarea puede crear, editar o descartar una GitHub lanzamiento. |
target Destino | (Obligatorio) Este es el SHA de confirmación para el GitHub se creará la versión. Por ejemplo, 48b11d8d6e92a22e3e9563a3f643699c16fd6e27 . También puede usar variables aquí. |
tagSource Origen de etiquetas | (Obligatorio) Configure la etiqueta que se usará para la creación de la versión. La opción "Etiqueta de Git" toma automáticamente la etiqueta asociada a esta confirmación. Use la opción "Etiqueta especificada por el usuario" en caso de que desee proporcionar manualmente una etiqueta. |
tag Etiqueta | (Obligatorio) Especifique la etiqueta para la que desea crear, editar o descartar una versión. También puede usar variables aquí. Por ejemplo, $(tagName) . |
title Título de la versión | (Opcional) Especifique el título de la GitHub lanzamiento. Si se deja vacía, la etiqueta se usará como título de la versión. |
releaseNotesSource Origen de las notas de la versión | (Opcional) Especifique la descripción de la GitHub lanzamiento. Use la opción "Archivo de notas de la versión" para usar el contenido de un archivo como notas de la versión. Use la opción "Notas de la versión insertadas" para escribir manualmente las notas de la versión. |
releaseNotesFilePath Ruta de acceso del archivo de notas de la versión | (Opcional) Seleccione el archivo que contiene las notas de la versión. |
releaseNotesInline Notas de la versión insertadas | (Opcional) Escriba las notas de la versión aquí. Se admite Markdown. |
assets Recursos | (Opcional) Especifique los archivos que se cargarán como recursos para la versión. Puede usar caracteres comodín para especificar un conjunto de archivos. Por ejemplo, $(Build.ArtifactStagingDirectory)/*.zip . También puede especificar varios patrones: uno por línea. De forma predeterminada, se cargarán $(Build.ArtifactStagingDirectory) todos los archivos del directorio. |
assetUploadMode Modo de carga de recursos | (Opcional) Use la opción "Eliminar recursos existentes" para eliminar primero los recursos existentes en la versión y, a continuación, cargar todos los recursos. Use la opción "Reemplazar recursos existentes" para reemplazar los recursos que tengan el mismo nombre. |
isDraft Versión de borrador | (Opcional) Indique si la versión debe guardarse como borrador (no publicada). Si false es , se publicará la versión. |
isPreRelease Versión preliminar | (Opcional) Indique si la versión debe marcarse como versión previa. |
addChangeLog Agregar registro de cambios | (Opcional) Si se establece en , se generará una lista de cambios (confirmaciones y problemas) entre esta y la última versión publicada y se anexará true a las notas de la versión. |
Ejemplos
Creación de una GitHub versión
El siguiente código YAML crea una GitHub cada vez que se ejecuta la tarea. El número de compilación se usa como versión de etiqueta para la versión. Todos .exe archivos y README.txt en la carpeta $(Build.ArtifactStagingDirectory) se cargan como recursos. De forma predeterminada, la tarea también genera un registro de cambios (una lista de confirmaciones y problemas que forman parte de esta versión) y lo publica como notas de la versión.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
tagSource: manual
tag: $(Build.BuildNumber)
assets: |
$(Build.ArtifactStagingDirectory)/*.exe
$(Build.ArtifactStagingDirectory)/README.txt
También puede controlar la creación de la versión en función de las etiquetas del repositorio. El siguiente código YAML crea una GitHub solo cuando la confirmación que desencadena la canalización tiene asociada una etiqueta git. La GitHub se crea con la misma versión de etiqueta que la etiqueta de Git asociada.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
También puede usar la tarea junto con las condiciones de la tarea para obtener un control aún más preciso sobre cuándo se ejecuta la tarea, lo que restringe la creación de versiones. Por ejemplo, en el siguiente CÓDIGO YAML, la tarea solo se ejecuta cuando la canalización se desencadena mediante una etiqueta git que coincide con el patrón "refs/tags/release-v*".
- task: GithubRelease@1
displayName: 'Create GitHub Release'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/release-v')
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Edición de GitHub versión
El siguiente código YAML actualiza el estado de una versión GitHub de "borrador" a "publicada". La versión que se va a editar viene determinada por la etiqueta especificada.
- task: GithubRelease@1
displayName: 'Edit GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: edit
tag: $(myDraftReleaseVersion)
isDraft: false
Eliminación de una GitHub lanzamiento
El siguiente código YAML elimina una GitHub lanzamiento. La versión que se va a eliminar viene determinada por la etiqueta especificada.
- task: GithubRelease@1
displayName: 'Delete GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: delete
tag: $(myDraftReleaseVersion)
Notas de la versión insertadas
El siguiente código YAML crea una GitHub y agrega notas de la versión insertadas.
- task: GitHubRelease@1
inputs:
gitHubConnection: <GITHUB_SERVICE_CONNECTION>
repositoryName: '$(Build.Repository.Name)'
action: 'create'
target: '$(Build.SourceVersion)'
tagSource: 'userSpecifiedTag'
tag: <YOUR_TAG>
title: <YOUR_TITLE>
releaseNotesSource: 'inline'
releaseNotesInline: <YOUR_RELEASE_NOTES>
Código Abierto
Esta tarea es de código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.