簡體   English   中英

在VSTS / Azure DevOps中推送時將構建定義鏡像存儲庫鏡像到外部git存儲庫

[英]Build definition mirroring repo to external git repo on push in VSTS / Azure DevOps

如標題所示,我在VSTS / Azure DevOps中進行構建時遇到了一個問題,當我推送到ie時,我想在其中更新外部git repo。 我的發布或主分支。 我已經嘗試了幾種來自市場的附加組件,但是似乎沒有一個適合我的需求。 我有一些先決條件:

  • 我的外部git在端口33后面
  • 我的外部git只接受SSH密鑰作為身份驗證,因此我需要將SSH私鑰存儲在某個地方,以便能夠推送到外部源。

由於內置的​​鏡像功能,我也嘗試了Gitlab,但不幸的是,它不接受端口33,僅接受22和其他標准端口:-(

提前非常感謝您!

如果“ Build.SourceBranch”與“ master”或“ release”相匹配,則可以添加帶有條件的PowerShell構建步驟,然后PowerShell腳本類似於此示例。 一口氣推動了所有事情,而不是每次提交。 這也可以趕上后面的回購。

# Test to see if remote alias already exists
git ls-remote ssh://user@host:1234/srv/git/TargetRepoSameName
# Add a remote alias
git remote add any_name_123 ssh://user@host:1234/srv/git/TargetRepoSameName

# push local repo to 'any_name_123'
git push any_name_123 --all
# optional: delete all tags before attempting to push local tags
git push any_name_123 --delete `$(git tag -l)
# push local tags to remote repo 
git push any_name_123 --tags

請注意,我正在使用端口號1234,而如果未指定端口,則默認為22。 請在您的整體解決方案中使用此代碼段。 您還可以使用git-hook推送更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM