Pipelines/Sign-Apps.ps1
function Sign-Apps { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [string] $KeyVaultName, [Parameter(Mandatory=$true)] [string] $CertificateName, [Parameter(Mandatory=$true)] [string] $ClientId, [Parameter(Mandatory=$true)] [string] $ClientSecret, [Parameter(Mandatory=$true)] [string] $TenantId, [Parameter(Mandatory=$false)] [string] $PathToFiles = './**/*.app', [Parameter(Mandatory=$false)] [string] $Description = 'Signed with AL-Go for GitHub', [Parameter(Mandatory=$false)] [string] $DescriptionUrl = $env:BUILD_REPOSITORY_URI ) Write-Host "##[group]Parameters" Write-Host "KeyVaultName: $KeyVaultName" Write-Host "CertificateName: $CertificateName" Write-Host "ClientId: $ClientId" Write-Host "TenantId: $TenantId" Write-Host "PathToFiles: $PathToFiles" Write-Host "Description: $description" Write-Host "DescriptionUrl: $descriptionUrl" Write-Host "##[endgroup]" if (-not $CertificateName) { Write-Host "CertificateName is not set. Exiting." return } Install-Module -Name SMART-BcBuildHelper -Force cd $env:BUILD_ARTIFACTSTAGINGDIRECTORY # Todo move out as a parameter $Files = Get-ChildItem -Path $PathToFiles -File | Select-Object -ExpandProperty FullName if (-not $Files) { Write-Host "No files to sign. Exiting." return } Write-Host "##[group]Files to be signed" $Files | ForEach-Object { Write-Host "- $_" } Write-Host "##[endgroup]" Write-Host "##[group]Signing files" Invoke-SigningTool ` -KeyVaultName $KeyVaultName ` -CertificateName $CertificateName ` -ClientId $ClientId ` -ClientSecret $ClientSecret ` -TenantId $TenantId ` -FilesToSign $PathToFiles ` -Description $description ` -DescriptionUrl $descriptionUrl ` Write-Host "##[endgroup]" } |