通过 SSH 将文件或生成项目复制到远程计算机。
语法
# Copy files over SSH v0
# Copy files or build artifacts to a remote machine over SSH.
- task: CopyFilesOverSSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    #sourceFolder: # string. Source folder. 
    contents: '**' # string. Required. Contents. Default: **.
    #targetFolder: # string. Target folder. 
  # Advanced
    #isWindowsOnTarget: false # boolean. Target machine running Windows. Default: false.
    #cleanTargetFolder: false # boolean. Clean target folder. Default: false.
    #cleanHiddenFilesInTarget: false # boolean. Optional. Use when cleanTargetFolder = true. Remove hidden files in target folder. Default: false.
    readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
    #overwrite: true # boolean. Overwrite. Default: true.
    #failOnEmptySource: false # boolean. Fail if no files found to copy. Default: false.
    #flattenFolders: false # boolean. Flatten folders. Default: false.
    #concurrentUploads: '10' # string. Number of concurrent uploads when copying files. Default: 10.
    #delayBetweenUploads: '50' # string. Delay between queueing uploads (in milliseconds). Default: 50.
# Copy files over SSH v0
# Copy files or build artifacts to a remote machine over SSH.
- task: CopyFilesOverSSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    #sourceFolder: # string. Source folder. 
    contents: '**' # string. Required. Contents. Default: **.
    #targetFolder: # string. Target folder. 
  # Advanced
    #isWindowsOnTarget: false # boolean. Target machine running Windows. Default: false.
    #cleanTargetFolder: false # boolean. Clean target folder. Default: false.
    #cleanHiddenFilesInTarget: false # boolean. Optional. Use when cleanTargetFolder = true. Remove hidden files in target folder. Default: false.
    readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
    #overwrite: true # boolean. Overwrite. Default: true.
    #failOnEmptySource: false # boolean. Fail if no files found to copy. Default: false.
    #flattenFolders: false # boolean. Flatten folders. Default: false.
# Copy files over SSH v0
# Copy files or build artifacts to a remote machine over SSH.
- task: CopyFilesOverSSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    #sourceFolder: # string. Source folder. 
    contents: '**' # string. Required. Contents. Default: **.
    #targetFolder: # string. Target folder. 
  # Advanced
    #isWindowsOnTarget: false # boolean. Target machine running Windows. Default: false.
    #cleanTargetFolder: false # boolean. Clean target folder. Default: false.
    readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
    #overwrite: true # boolean. Overwrite. Default: true.
    #failOnEmptySource: false # boolean. Fail if no files found to copy. Default: false.
    #flattenFolders: false # boolean. Flatten folders. Default: false.
输入
              sshEndpoint
               - 
              SSH 服务连接
              string。 必填。
SSH 服务连接的名称 包含远程计算机的连接详细信息。
- 创建 SSH 服务连接需要远程计算机的主机名或 IP 地址、端口号和用户名。
 - 必须为身份验证指定私钥和通行短语。
 
              sourceFolder
               - 
              源文件夹
              string。
要复制到远程计算机的文件的源文件夹。  当为空时,将使用存储库(生成)或项目目录(release)的根目录($(System.DefaultWorkingDirectory))。  如果文件不在存储库中,请使用 变量。 示例:$(Agent.BuildDirectory)。
              contents
               - 
              内容
              string。 必填。 默认值:**。
要包含在副本中的文件路径。 支持多行 微型模式。 默认值为 **,其中包括源文件夹下的所有文件(包括子文件夹)。
- 示例:
**/*.*(jar|war)包括源文件夹下的所有.jar和 .war 文件(包括子文件夹)。 - 示例:
"** \n !**/*.xml"包括源文件夹下的所有文件(包括子文件夹),但不包括 xml 文件。 
              targetFolder
               - 
              目标文件夹
              string。
远程计算机上的目标文件夹,其中将复制文件。 示例:/home/user/MySite。 带波形符 (~) 的前面,用于指定用户的主目录。
              isWindowsOnTarget
               - 
              运行 Windows 的目标计算机
              boolean。 默认值:false。
检查目标计算机是否正在运行 Windows。
              cleanTargetFolder
               - 
              清理目标文件夹
              boolean。 默认值:false。
在复制之前,删除目标文件夹中的所有现有文件和子文件夹。
              cleanHiddenFilesInTarget
               - 
              删除目标文件夹中的隐藏文件
              boolean。 可选。 当 cleanTargetFolder = true时使用。 默认值:false。
设置为 true时,删除目标文件夹中的隐藏文件。
              readyTimeout
               - 
              SSH 握手超时
              string。 必填。 默认值:20000。
等待 SSH 握手完成多长时间(以毫秒为单位)。
              overwrite
               - 
              覆盖
              boolean。 默认值:true。
替换目标文件夹中和下方的现有文件。
如果找不到任何文件复制,则 failOnEmptySource -  失败
              boolean。 默认值:false。
如果在源文件夹下找不到要复制的匹配文件,则失败。
              flattenFolders
               - 
              平展文件夹
              boolean。 默认值:false。
平展文件夹结构并将所有文件复制到远程计算机上的指定目标文件夹中。
复制文件时 concurrentUploads -  并发上传数
              string。 默认值:10。
复制文件时并发上传数。 默认值为 10。
              delayBetweenUploads
               - 
              排队上传(以毫秒为单位)之间的延迟
              string。 默认值:50。
排队上传之间的延迟(以毫秒为单位)。 默认值为 50。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
没有。
要求
| 要求 | 说明 | 
|---|---|
| 管道类型 | YAML,经典版本,经典版本 | 
| 运行时间 | 代理,DeploymentGroup | 
| 需求 | 没有 | 
| 功能 | 此任务不满足作业中后续任务的任何要求。 | 
| 命令限制 | 此任务使用以下 命令限制运行: 受限 | 
|   | 
此任务有权 设置以下变量:禁用设置变量 | 
| 代理版本 | 2.206.1 或更高版本 | 
| 任务类别 | 部署 | 
| 要求 | 说明 | 
|---|---|
| 管道类型 | YAML,经典版本,经典版本 | 
| 运行时间 | 代理,DeploymentGroup | 
| 需求 | 没有 | 
| 功能 | 此任务不满足作业中后续任务的任何要求。 | 
| 命令限制 | 此任务使用以下 命令限制运行: 受限 | 
|   | 
此任务有权 设置以下变量:禁用设置变量 | 
| 代理版本 | 2.182.1 或更高版本 | 
| 任务类别 | 部署 |