GitHub Release görevi
Azure Pipelines
GitHub yayınıoluşturmak, düzenlemek veya atmak için işlem hattınızda bu görevi kullanın.
Önkoşullar
GitHub hizmet bağlantısı
bu görev, GitHub deposunda yazma izni olan GitHub bir hizmet bağlantısı gerektirir. Azure Pipelines projenizde bir GitHub hizmet bağlantısı oluşturabilirsiniz. Oluşturulduktan sonra, bu görevin ayarlarında hizmet bağlantısının adını kullanın.
YAML kod parçacığı
# 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
Bağımsız değişkenler
| Bağımsız Değişken | Description |
|---|---|
gitHubConnection GitHub bağlantısı | Istenir GitHub bağlantınızın hizmet bağlantı adını girin. Burada hizmet bağlantıları hakkında daha fazla bilgi edinin . |
repositoryName Depo | Istenir GitHub sürümlerinin oluşturulacağı GitHub deponun adını seçin. |
action Eylem | Istenir Gerçekleştirmek istediğiniz yayın işleminin türünü seçin. bu görev GitHub bir sürüm oluşturabilir, düzenleyebilir veya atabilir. |
target Hedef | Istenir bu, GitHub sürümünün oluşturulacağı kayıt SHA 'dır. Ör. 48b11d8d6e92a22e3e9563a3f643699c16fd6e27 Değişkenleri burada da kullanabilirsiniz. |
tagSource Etiket kaynağı | Istenir Yayın oluşturma için kullanılacak etiketi yapılandırın. ' Git Tag ' seçeneği, bu işlemeyle ilişkili etiketi otomatik olarak alır. El ile bir etiket sağlamak istediğiniz durumlarda ' Kullanıcı tarafından belirtilen etiketi ' seçeneğini kullanın. |
tag Etiket | Istenir Yayın oluşturmak, düzenlemek veya atmak istediğiniz etiketi belirtin. Değişkenleri burada da kullanabilirsiniz. Ör. $(tagName) |
title Yayın başlığı | Seçim GitHub sürümünün başlığını belirtin. Boş bırakılırsa, etiket yayın başlığı olarak kullanılacaktır. |
releaseNotesSource Sürüm notları kaynağı | Seçim GitHub sürümünün açıklamasını belirtin. Dosya içeriğini sürüm notları olarak kullanmak için ' sürüm notları dosyası ' seçeneğini kullanın. Sürüm notlarını el ile girmek için ' satır Içi sürüm notları ' seçeneğini kullanın. |
releaseNotesFilePath Sürüm notları dosya yolu | Seçim Sürüm notlarını içeren dosyayı seçin. |
releaseNotesInline Not satır içi sürüm notları | Seçim Sürüm notlarınızı buraya yazın. Markaşağı desteklenir. |
assets Varlıklar | Seçim Yayın için varlık olarak karşıya yüklenecek dosyaları belirtin. Bir dosya kümesi belirtmek için joker karakterler kullanabilirsiniz. Ör. $(Build.ArtifactStagingDirectory)/*.zip Her satır için bir tane olmak üzere birden çok desen de belirtebilirsiniz. Varsayılan olarak, dizindeki tüm dosyalar $(Build.ArtifactStagingDirectory) karşıya yüklenir. |
assetUploadMode Varlık karşıya yükleme modu | Seçim İlk olarak yayındaki mevcut varlıkları silmek için ' mevcut varlıkları Sil ' seçeneğini kullanın ve tüm varlıkları karşıya yükleyin. Aynı ada sahip herhangi bir varlığı değiştirmek için ' mevcut varlıkları Değiştir ' seçeneğini kullanın. |
isDraft Taslak yayın | Seçim Yayının taslak (yayımdan kaldırılmış) olarak kaydedilip edilmeyeceğini belirtin. Varsa false , yayın yayımlanır. |
isPreRelease Yayın öncesi | Seçim Yayının yayın öncesi olarak işaretlenip işaretlenmeyeceğini belirtin. |
addChangeLog CHANGELOG Ekle | Seçim Olarak ayarlanırsa true , bu ile son yayımlanan yayın arasındaki değişikliklerin (işlemeler ve sorunlar) bir listesi oluşturulur ve sürüm notlarına eklenir. |
Örnekler
GitHub yayını oluşturma
aşağıdaki yaml, görev her çalıştığında GitHub bir yayın oluşturur. Yapı numarası yayın için etiket sürümü olarak kullanılır. $ (Build. ArtifactStagingDirectory) klasöründeki tüm .exe dosyalar ve README.txt dosyalar varlık olarak karşıya yüklenir. Varsayılan olarak, görev ayrıca bir değişiklik günlüğü (Bu yayının parçası olan işlemeler ve sorunlar listesi) oluşturur ve sürüm notları olarak yayımlar.
- 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
Ayrıca, depo etiketlerine göre yayın oluşturma denetimini de denetleyebilirsiniz. aşağıdaki yaml yalnızca işlem hattının tetiklediği işleme ile ilişkili bir Git etiketi olduğunda GitHub bir yayın oluşturur. GitHub sürümü, ilişkili Git etiketiyle aynı etiket sürümüyle oluşturulur.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Ayrıca, görev çalışırken daha iyi denetim sağlamak için görevi görev koşullarıyla birlikte kullanmak isteyebilirsiniz, böylece yayınların oluşturulmasını sınırlayabilirsiniz. Örneğin, aşağıdaki YAML 'de görev yalnızca işlem hattı ' refs/Tags/Release-v * ' düzeniyle eşleşen bir git etiketi tarafından tetiklendiğinde çalışır.
- 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
GitHub yayınını düzenleme
aşağıdaki yaml, bir GitHub sürümünün durumunu ' taslak ' iken ' yayımlandı ' olarak güncelleştirir. Düzenlenecek yayın belirtilen etikete göre belirlenir.
- task: GithubRelease@1
displayName: 'Edit GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: edit
tag: $(myDraftReleaseVersion)
isDraft: false
GitHub yayınını silme
aşağıdaki yaml bir GitHub sürümünü siler. Silinecek yayın belirtilen etikete göre belirlenir.
- task: GithubRelease@1
displayName: 'Delete GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: delete
tag: $(myDraftReleaseVersion)
Satır içi sürüm notları
aşağıdaki yaml GitHub bir sürüm oluşturun ve satır içi sürüm notları ekleyin.
- 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>
Açık kaynak
Bu görev GitHubaçık kaynağıdır. Geribildirim ve katılımlar hoş geldiniz.