-
Notifications
You must be signed in to change notification settings - Fork 4
/
HowTo.txt
42 lines (32 loc) · 1.83 KB
/
HowTo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Návod:
https://4bes.nl/2021/02/21/create-a-custom-azure-devops-powershell-task/#:~:text=Create%20a%20custom%20Azure%20DevOps%20pipeline%20task%20for,script%20...%208%20Configure%20task.json%20...%20More%20items
Vytvoření adresářové struktury
tfx build tasks create --task-name ManageAutomationAccount --friendly-name Manage-AutomationAccount --description 'Integration of AAC into DevOps source control and release pipeline' --author 'GreyCorbel s.r.o.'
Add VstsTaskModule
Save-Module –Name VstsTaskSdk –Path .\PipelineTask\ps_modules -Force
Vytvoření vsix souboru
tfx extension create --manifest-globs vss-extension.json
Marketplace portal:
https://marketplace.visualstudio.com/manage/publishers/greycorbelsolutions
Autoatické nasazení do marketplace:
tfx extension publish --publisher GreyCorbelSolutions --manifest-globs vss-extension.json --token ""
*token - ulozen v github environment secrets - token musí mít scope na marketplace (v definici PAT token v DevOps)
jak předat data obsažená v v tasku v proměnné do pipeline a dál s ní pracovat:
V ps1 scriptu, který je zabalen do pipeline tasku (v našem případě manage-automauionwebhook.ps1) se výstupní proměnná $managedWebhooks nastaví jako task proměnná:
Write-Host "##vso[task.setvariable variable=managedWebhooks;]$managedWebhooks"
A pak tohle je ten konstrukt v pipeline:
# odehraješ custom task
- task: Manage-AutomationWebHook@1
inputs:
environmentName: 'test'
projectDir: 'test'
subscription: 'test'
azureSubscription: 'DHL - O365v2 deployment'
resourceGroup: 'test'
automationAccount: 'test'
name: CustomTask
# a pak voláš v powershellu takto:
- powershell: |
# Použití výstupní proměnné z vlastního tasku
Write-Host "data z tasku jsou: $(managedWebhooks)"
name: UseCustomTaskOutput