Tôi muốn tự động gắn thẻ một cam kết khi xây dựng thành công trên VSO build vNext. Tôi đã đọc tài liệu bao gồm trang này https://msdn.microsoft.com/Library/vs/alm/Build/scripts/variables và tôi đã thiết lập một tập lệnh PowerShell nhỏ. Trước hết, có vẻ như biến BUILD_REPOSITORY_AUTH_USERNAME (và mật khẩu bạn bè của nó) trống. Tôi đoán họ chỉ có sẵn với gits bên ngoài? Thứ hai, có vẻ như việc thanh toán cho xây dựng được thực hiện thông qua các tác vụ chạy LibGit2Sharp, do đó thông tin đăng nhập không được lưu trữ trong bất kỳ trình trợ giúp nào.Thẻ Git ở cuối xây dựng trên Visual Studio Online (Xây dựng vNext, lưu trữ nhóm)
Đây là kịch bản PowerShell tôi:
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
Nó hoạt động tốt trên máy tính của tôi, nhưng trên đại lý (hồ lưu trữ) nhưng có vẻ như để treo trên các đại lý tại các lệnh push (sau 1h, nó đã tự động bị giết bởi bộ điều khiển).
Dưới đây là nhật ký:
******************************************************************************
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
******************************************************************************
Như bạn thấy, không có log cho việc đẩy mạnh cũng không phải là lệnh trạng thái. Bất kỳ ý tưởng nào về cách đạt được điều này?
Dường như không còn biến env BUILD_REPOSITORY_AUTH_USERNAME nữa. do đó, nó là một câu hỏi lớn làm thế nào để ủy quyền vào git. – Ilya