Nello script precedente abbiamo visto quelle che sono alcune shortcut in YAML per richiamare script esistenti. Sebbene queste utility siano molto comode nella maggior parte degli scenari, può sempre succedere di dover applicare delle personalizzazioni: il task PowerShell è da dove nascono le shortcut ed è proprio lui che possiamo referenziare quando abbiamo esigenze specifiche.
Il task è così definito:
- task: PowerShell@2 inputs: targetType: # 'filePath' oppure 'inline' filePath: # percorso del file .ps1 quando 'targetType == filePath' arguments: # opzionali script: # script da scrivere in linea quando 'targetType == inline' errorActionPreference: # 'stop', 'continue', 'silentlyContinue' failOnStderr: # false di default ignoreLASTEXITCODE: # false di default pwsh: # false di default, true per indicare che referenziamo PowerShell Core workingDirectory: # opzionale
Come si può notare dalla documentazione, infatti, possiamo andare non solo a specificare dove si trova il file di PowerShell o a scriverne uno in linea, ma possiamo anche definire argomenti da passare agli script stessi, la working directory e il comportamento da tenere in caso di errore. L'impostazione di pwsh a true, indica l'esecuzione dello script su PowerShell Core, da cui la shortcut del task pwsh: in alternativa, la shortcut di default è powershell.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
C# 12: Cosa c'è di nuovo e interessante
Recuperare l'ultima versione di una release di GitHub
Creare un webhook in Azure DevOps
Eseguire operazioni sui blob con Azure Storage Actions
Come migrare da una form non tipizzata a una form tipizzata in Angular
Assegnare un valore di default a un parametro di una lambda in C#
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Creare gruppi di client per Event Grid MQTT
Evitare la script injection nelle GitHub Actions
Generare token per autenicarsi sulle API di GitHub