AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1007248
Accepted
jrd1989
jrd1989
Asked: 2020-03-18 05:28:32 +0800 CST2020-03-18 05:28:32 +0800 CST 2020-03-18 05:28:32 +0800 CST

构建代理和发布代理之间的区别 - DevOps

  • 772

有人可以用最简单的术语解释构建代理和发布代理之间的区别吗?这与 Azure DevOps 有关。我从 Microsoft 找到有关构建代理的信息,但我没有找到任何专门针对发布代理的信息。我不是贸易开发人员,所以如果有人能解决这个问题,我将不胜感激。

agent azure microsoft azure-devops
  • 1 1 个回答
  • 1168 Views

1 个回答

  • Voted
  1. Best Answer
    James Reed
    2020-03-18T09:42:58+08:002020-03-18T09:42:58+08:00

    从技术上讲,它们是相同的。即构建或发布使用的代理是在机器上运行的相同代码。但是有 3 种使用模式。

    代理池

    代理池是一种将代理分组在一起的方式。例如,您可以通过以下方式将代理组合在一起

    • 操作系统(Linux vs Windows vs MacOS)
    • 能力(.net 构建代理 vs Java 构建代理 vs IOS 构建代理 vs 安装了 Web 浏览器以进行自动化测试的代理)
    • 功能(构建 vs 测试 vs 部署)
    • 网络访问(一些代理可以与网络上的某些资源通信)
    • 或者以上所有的混合。

    您的代理越通用,它们的利用率就越高,但您可能不希望有一个大型代理池可以做所有事情。

    如果您的部署过程是远程运行的,即代理使用诸如 ansible 或 ms deploy 之类的工具连接到远程服务器,那么您可以使用这些代理来发布您的代码,但是还有其他几种方法可以使用代理来发布软件。

    部署组

    在经典管道(GUI 创建的发布过程)中,您还可以创建部署组。在这种模式下,您将代理安装在要部署到的机器上,部署组充当将服务器集分组到环境中的一种方式,每个代理负责将代码部署到运行它的服务器。您可以标记部署组中的代理,以便仅在这些代理上运行特定作业。例如,您可能在一个环境中有 5 个服务器、2 个 Web 服务器、2 个应用程序服务器和一个数据库服务器,您可以将代理标记为“web”“app”“db”,然后在发布管道中标记您的作业,这样管道知道在哪里运行每个作业。它还可以并行运行作业,以便同时部署两个 Web 服务器。

    环境

    在多阶段管道(YAML 管道即代码)中有环境的概念。这可以是一组资源。目前环境支持两种类型的资源。

    1. Kubernetes 命名空间
    2. 虚拟机。

    与部署组环境一样,您可以将代理专门部署到虚拟机,然后使用它使用标签运行特定作业。

    在“部署组”或“环境”中使用代理有 3 个主要好处

    1. 代理在其部署的机器上是本地的,这意味着您的发布过程不必满足在网络上工作的需要。
    2. 安全性,代理通过端口 443 与 azure devops 对话,这意味着您可以对服务器的入站流量制定非常严格的规则,因为代理工作只需要超过 443 的出站流量
    3. 成本,池中的代理受并行作业规则的约束。部署组和环境* 不属于此限制

    *环境和 YAML 管道目前处于预览阶段,定价模式可能会在它们全面上市时发生变化

    • 3

相关问题

  • 为什么在代理作业中使用 SQL Server 2012 令牌时不扩展?

  • 如何在 MacOSX Leopard 中激活 ssh-agent 确认?

  • ssh-agent 转发和 sudo 到另一个用户

  • SQL Server 2005:复制 SQL Server 代理作业?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve