将代码从VSTS存储库推送到本地TFS?

时间:2017-01-19 00:35:54

标签: selenium tfs azure-devops azure-pipelines octopus-deploy

这是我在这里的第一篇文章,请原谅我,如果我错过了这个问题的现有答案。

基本上我的公司为政府中的各种客户进行异地开发。在内部,我们使用云VSTS,Octopus部署和Selenium来确保我们内部Azure环境中的持续交付管道。我们希望将此管道扩展到客户端的本地环境中,以减少不必要的部署开销。遗憾的是,由于安全策略,我们无法使用我们的VSTS / Octopus实例将代码直接推送到客户端环境中,因此我正在寻找一种方法将代码从我们的VSTS环境转换为托管在其上的TFS的本地实例他们的结局。

我真正想要的是一个系统,客户端登录我们的VSTS环境,验证代码,然后推送某种按钮,将其拉到本地TFS,这是我们自动构建的副本,测试过程将通过其环境和生产来管理CI管道。

这一切都可能吗?我有什么选择?

3 个答案:

答案 0 :(得分:0)

没有直接的方法来实现从VSTS到内部部署TFS的历史迁移源代码。你需要第三方工具,比如Commercial Edition of OpsHub(注意它不是免费的)。

答案 1 :(得分:0)

听起来你需要一个新功能来加入Octopus Deploy,请参阅https://octopus.com/blog/roadmap-2017 - >八达通发布促销活动

我引述: 许多客户在发布必须在多个Octopus服务器之间流动的环境中工作 - 两种最常见的情况是: 使用一个八达通进行开发/测试,但需要在其每个客户的站点使用八达通服务器进行生产部署的代理商

答案 2 :(得分:0)

我会建议以下内容。虽然它包含小的自定义脚本。

  1. 将构建代理添加到实际位于客户场所的vsts中。这很容易,只需在线端点注册代理。
  2. 在vsts中创建构建定义,从vsts获取代码。但是,而不是建立提交到本地tfs。你需要一个小的PowerShell代码。您可以在构建定义中将其添加为自定义PowerShell步骤。
  3. 本地tfs协调其余部分。
  4. 自定义代码: 假设你的代理人在d:/ agent上 1.将本地tfs映射到某个目录(例如c:/ tfs)

    1. 该脚本将新源代码从d:/ agent / work /复制到c:/ tfs
    2. 从c:/ tfs提交到本地tfs。 注意:您需要/ force选项(可能还有一些)来防止冲突。
    3. 我相信这并不像听起来那么难看。