【问题标题】:container used to obfuscate vsts build artifacts in release pipeline as VSTS task用于将发布管道中的 vsts 构建工件混淆为 VSTS 任务的容器
【发布时间】:2018-05-09 17:05:59
【问题描述】:

我在 devops 堆栈交换 link to question 中提出了这个问题,但想尝试与可能能够帮助回答这个问题的另一个社区联系。

我想在云中创建一个容器镜像,运行镜像上安装的工具。在我的 VSTS 发布管道期间,我希望我的发布代理下载此映像,传入构建工件,然后对通过此工具运行我的工件的结果执行一些操作。我有一个 Azure 订阅。我已经尝试阅读文档,但我对需要设置的内容感到困惑。此容器未托管任何 Web 应用程序,但被用作在发布代理上本地运行我的工具的一种方式。我看到我可以将 docker run 命令作为 VSTS 管道操作运行。我需要在我的 azure 订阅上设置什么来托管此图像,以便 VSTS 代理将其拉下?

【问题讨论】:

  • 询问工具或场外资源建议对于 Stack Overflow 来说是题外话,所以我希望这个问题会作为题外话而被关闭。也就是说,我看不出在你的场景中混淆的意义是什么。任何被混淆的东西都可以被去混淆,如果你的登台或生产环境被破坏到攻击者复制了你的去混淆应用程序的程度,你就会有更大的问题。
  • 扮演魔鬼的拥护者,所有加密也可以逆转(给时间/资源),这不是问题的重点。我确实将我的问题编辑得更直接,并消除了我想要实现的任何歧义。我想使用 Azure 作为我的图像存储来托管一个图像,而不是在 azure 上运行,而是被拉下并在 vsts 代理上运行。我如何创建商店?我如何在这家商店获得图像?这甚至可以使用 Azure 完成吗?
  • 我只是看到一个请求,以帮助实施一个相当复杂的解决方案来解决似乎没有问题的问题,我觉得有必要对此发表评论。回到手头的主题“如何在 VSTS 中使用 Azure 容器?”对于这个网站来说太宽泛了——即使进行了编辑,您的问题仍然是题外话。为了给您指明正确的方向,您正在寻找的是 Azure 容器注册表。这允许您创建一个容器注册表,您可以将自定义容器映像推送到该注册表。这应该为您提供独立研究的良好起点。
  • 你解决了这个问题吗?
  • 我认为 azure 容器注册表将是解决所描述问题的最佳解决方案。但是,我能够通过将工具上传到源代码控制并将其作为工件与我想要混淆的工件一起下载(根据工具开发人员的说明)来解决核心问题。所以我不再需要使用容器来解决我的问题。

标签: azure-devops containers


【解决方案1】:

您可以通过Dockerfile构建镜像,例如:dotnetcore-docker-sample,查看Dockerfile后,您可以发现它将构建结果复制到镜像并设置了ENTRYPOINT,因此运行该镜像时可以运行Web应用程序。

因此,您可以通过 Docker 任务构建镜像(操作:构建镜像),然后也通过 Docker 任务推送镜像(操作:推送镜像;指定 Azure 订阅和 Azure 容器注册表)。

关于运行镜像,你也可以使用 Docker 任务(操作:运行镜像)。

有一个博客可以帮助你:Build, push and run Docker images with Visual Studio Team Services

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多