TeamCity On-Premises 2024.03 Help

SSH 执行

SSH Exec 使 TeamCity 能够使用 SSH 执行任意远程命令。

所有运行器的通用设置在 这里 描述。 此文章详述了 SSH Exec 运行器的设置。

以下字段支持 参数引用:任何在百分号之间的文本( % )都被 TeamCity 视为对属性的引用。 为了防止 TeamCity 将百分号内的文本视为属性的引用,使用两个百分号来转义它们:例如,如果您想要将 % \Y % \m % \d % \H % \M % \S 传递到构建中,请将其改为 %\%Y%\%m%\%d%\%H%\%M%\%S

选项

描述

步骤名称

Optional 在 TeamCity 用户界面中显示的构建步骤的名称。

步骤 ID

此构建步骤的 ID,必须在此配置的所有步骤中唯一。 用于URLs、REST API、DSL、向服务器的HTTP请求,以及TeamCity数据目录中的配置设置。

执行步骤

使您能够修改默认的构建条件,并可选择性地添加更多的 构建条件

部署目标

目标

SSH 服务器的主机名或 IP 地址。

端口

可选 端口。 默认端口为22。

使用 pty

Optional 请指定伪终端(pty)的类型。 例如, vt100

如果为空,那么 pty 不会被分配(默认)。

部署凭据

认证方法

选择一种身份验证方法:

  • 上传的密钥 — 使用上传到项目中的密钥。 参见 SSH 密钥管理 了解详细信息。

  • 默认私钥 — 使用 ~/.ssh/config 设置进行私钥认证,如果不存在设置文件,则使用 ~/.ssh/id_rsa 私钥文件。

  • 自定义私钥 — 使用指定的私钥文件和密码进行私钥认证。

  • Password — 使用简单密码验证。

  • SSH-Agent — 使用 SSH 代理进行身份验证,其中必须启用 SSH-Agent 构建功能

SSH 命令

命令

在远程 shell 中指定一个新的、以换行符分隔的命令集来执行。 远程 shell 在经过认证的用户的主目录中启动。 Shell 输出将在 TeamCity 构建日志中可用。

示例

例如,考虑如何创建一个构建步骤,为网站构建静态内容。 在将静态内容上传到网页服务器后,您需要执行一个 deploy.sh 脚本以刷新网站。 假设您在 SSH 服务器上使用 jdoe 帐户,其主目录为 /jdoe ,并且 SSH 服务器已配置为使用 SSH 密钥进行身份验证。

  1. 按照 Generated SSH Keys 中的步骤在您的项目中生成一对新的 SSH 密钥。 调用密钥对 WebServerKey

  2. WebServerKey 密钥对中复制公钥。

  3. 登录到您的 SSH 服务器上的 jdoe 帐户,并按照您的 SSH 服务器提供商的指导将 WebServerKey 公钥添加到此帐户。

  4. 在您的项目构建配置中,转到 Build Steps 页面并点击 Add build step

  5. 新建构建步骤 页面上,选择 SSH Exec 运行器。

  6. 新建构建步骤:SSH Exec 页面上,按照以下方式填写字段:

    • 步骤名称 — 输入 RunDeployScript

    • 目标 — 请输入 ssh.example.com

    • 认证方法 — 选择 已上传的密钥

    • 用户名 — 请输入 jdoe (SSH 服务器帐户的用户名)

    • 选择键 — 从下拉列表中选择 WebServerKey

    • Commands — 请输入以下的 shell 命令:

      echo 'running deploy.sh ...' /home/jdoe/scripts/deploy.sh
  7. 点击 Save 来创建构建步骤。

最后修改日期: 16日 7月 2024年