Git Checkout Azure DevOps с использованием powershell - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь оформить заказ, используя git из сценария powershell с использованием конвейеров Azure (yaml).

Когда во время сборки выполняется следующее, моя сборка зависает ..

- task: PowerShell@2
    # ------------------------------------------------------
    displayName: Update readme.txt
    # ------------------------------------------------------
    inputs:
      targetType: filePath
      filePath: '$(System.DefaultWorkingDirectory)\${{ parameters.devOpsArtifactName }}\update-changelog.ps1'
      workingDirectory: '$(System.DefaultWorkingDirectory)\${{ parameters.devOpsArtifactName }}'
      arguments: '-WorkingDirectory "$(System.DefaultWorkingDirectory)" -Version "$(buildNumber)" -BranchesToPush "develop" -GitRequestedForEmail "$(Build.QueuedById)" -GitRequestedFor "$(Build.QueuedBy)" -UpdateRepo'
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)
function Checkout([String]$branch, [String]$gitRequestedForEmail, [String]$gitRequestedFor)
{
    Write-Host "Checking out $branch for $gitRequestedFor ($gitRequestedForEmail)."

    git config --global credential.modalPrompt false
    git config --global user.email $gitRequestedForEmail
    git config --global user.name $gitRequestedFor

    git fetch
    git checkout $branch
}

РЕДАКТИРОВАТЬ
Подавление модального (как предложено) не работает, предпочтительно я хочу использовать SYSTEM_ACCESSTOKEN для аутентификации.

1 Ответ

0 голосов
/ 29 января 2019

Протестировано с использованием этого (встроенного) скрипта и получилось:

$url = "$(Build.Repository.Uri)".Replace("https://", "")
$url = "https://$env:SYSTEM_ACCESSTOKEN@$url"

Write-Host "Checking out $branch from $url for $gitRequestedFor ($gitRequestedForEmail)."

git fetch $url
git checkout develop
git log --oneline
...