正如标题所示,在VSTS / Azure DevOps中进行构建步骤时遇到问题,当我按ie时,我想在其中更新外部git repo。我的发布或主分支。我已经尝试了几种来自市场的附加组件,但是似乎没有一个适合我的需求。我有一些先决条件:
由于内置的镜像功能,我也尝试了Gitlab,但不幸的是,它不接受端口33,仅接受22和其他标准端口:-(
非常感谢您!
答案 0 :(得分:0)
如果'Build.SourceBranch'与'master'或'release'相匹配,则可以添加带有条件的PowerShell Build步骤,然后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推送更改。