I would like to view this page in
有时,您可能想在项目构建期间连接不同的机器。 例如,通过 SSH 触发远程机器上的部署脚本。
来看看这是怎么做到的。
Secure Shell (SSH) 因其安全性、通用性和高效性而被广泛用于各种用途。 以下是使用 SSH 的几个原因
转到 Edit configuration | Build Steps(编辑配置 | 构建步骤)快速查看构建步骤。
假设您要添加一个执行部署的命令行构建步骤。 为此,TeamCity 通过 SSH 连接到远程服务器并在服务器上执行几个命令,例如从 Amazon S3 下载并执行文件。 为了使 SSH 连接正常工作,您需要指定 SSH 密钥。
问题是:如果 SSH 密钥没有预烘焙到代理镜像中,那么它如何到达您的构建代理?
What we want to do is to get rid of the command line build step. To do that, click on the Runner type drop-down menu. 这里有两个选项:SSH Exec 和 SSH Upload。
SSH Exec is convenient for when you want to execute something on a remote machine. SSH Upload 有助于将文件安全上传到服务器。
我们将选择选项 SSH Exec,为运行程序添加目标和命令。
在 Authentication method(身份验证方法)下,您可以选择 SSH 密钥的来源。
Uploaded key: The key is uploaded to the TeamCity server. 服务器会将其加密,发送至构建代理进行构建,然后在构建完成后将其删除。
Default private key(默认私钥)和 Custom private key(自定义私钥):如果您在构建代理的特定位置预安装了默认私钥,则选择此选项。
您也可以选择用户名-密码组合,甚至是运行中的 SSH 代理。 阅读我们的文档,详细了解 SSH Exec。
在本教程中,我们将使用 Uploaded key(已上传的密钥)选项。 我们将用户名设为 teamcity-deploy,并跳过密码短语设置。 然后,我们将上传 SSH 密钥。
要上传 SSH 密钥,转到 Buildpipelines project | SSH Keys(构建管道项目 | SSH 密钥)。 接下来,我们将为服务器选择私钥。 点击 Upload SSH Key(上传 SSH 密钥)并从计算机中选择一个文件。
接下来,返回 Build steps | SSH Exec(构建步骤 | SSH Exec)并选择您刚刚上传的私钥。 然后,点击 Save(保存)并运行构建。
在构建完成运行后,打开 Build Log(构建日志),您将看到 SSH Exec 构建步骤的输出。 在这里,您可以看到 TeamCity 执行了您在构建步骤配置中输入的命令。 它还将显示 echo ‘running deploy.sh...’
命令的结果。
就是这样!