0 votes
1 view
in Azure by (44.7k points)

I'd like to automatically tag a commit when a build is successful on VSO build vNext. I've read the doc including this page https://msdn.microsoft.com/Library/vs/alm/Build/scripts/variables and I've setup a small PowerShell script. First of all, it seems that BUILD_REPOSITORY_AUTH_USERNAME variable (and its friend password) are empty. I guess they're only available with external gits ? Second of all, it seems that the checkout for build is done via tasks which runs LibGit2Sharp, therefore credentials are not stored in any helper.

This is my PowerShell script:

git tag $Env:BUILD_BUILDNUMBER

git status

git config -l 

git push --progress https://$Env:GITUSER:$Env:[email protected]/DefaultCollection/_git/myproject tag $Env:BUILD_BUILDNUMBER

git status

exit

It works well on my machine but on the agent (hosted pool) but it seems to hang on the agent at the push command (after 1h, it got automatically killed by the controller).

Here is the log:

******************************************************************************

Starting task: Powershell: tools/GitCommands.ps1

******************************************************************************

HEAD detached at 819e778

nothing to commit, working directory clean

core.symlinks=false

core.autocrlf=true

color.diff=auto

color.status=auto

color.branch=auto

color.interactive=true

pack.packsizelimit=2g

help.format=html

http.sslcainfo=/bin/curl-ca-bundle.crt

sendemail.smtpserver=/bin/msmtp.exe

diff.astextplain.textconv=astextplain

rebase.autosquash=true

core.bare=false

core.filemode=false

core.symlinks=false

core.ignorecase=true

core.logallrefupdates=true

core.repositoryformatversion=0

remote.origin.url=https://myrepo.visualstudio.com/DefaultCollection/_git/myproject

remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

branch.master.remote=origin

branch.master.merge=refs/heads/master

******************************************************************************

Finishing task: PowerShell

******************************************************************************

As you can see, no log for the push nor the status command. Any idea on how to achieve this ?

1 Answer

0 votes
by (16.8k points)

To answer the question (or better the title of the question). Just let the vNext build do it.

enter image description here

As mentioned in the comments, this is not available for external git repositories.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...