ansible.builtin.subversion 模块 – 部署 Subversion 仓库

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定集合关键字,也可以使用短模块名称 subversion。但是,我们建议您使用完全限定集合名称 (FQCN) ansible.builtin.subversion,以便轻松链接到模块文档,并避免与其他可能具有相同模块名称的集合冲突。

概要

  • 将给定的仓库 URL/修订版本部署到目标位置。如果目标位置已存在,则更新到指定的修订版本,否则执行检出。

要求

以下要求需要在执行此模块的主机上满足。

  • Subversion (带有 svn 入口点的命令行工具)

参数

参数

注释

checkout

布尔值

如果 false,则如果本地不存在仓库,则不检出仓库。

选项

  • false

  • true ← (默认)

dest

路径

应部署仓库的绝对路径。

必须指定目标目录,除非 checkout=noupdate=noexport=no

executable

路径

要使用的 svn 可执行文件的路径。如果未提供,将使用解析二进制路径的正常机制。

export

布尔值

如果 true,则执行导出而不是检出/更新。

选项

  • false ← (默认)

  • true

force

布尔值

如果 true,则会丢弃已修改的文件。如果 false,则如果遇到已修改的文件,模块将失败。在 1.9 之前的版本中,默认值为 true

选项

  • false ← (默认)

  • true

in_place

布尔值

如果目录存在,则将使用 svn checkout –force 在顶部检出工作副本;如果指定了 force,则将还原内容不同的现有文件。

选项

  • false ← (默认)

  • true

password

字符串

当 svn 版本低于 1.10.0 时传递给 svn 的 --password 参数。这不安全,密码将泄漏到 argv。

当 svn 版本大于或等于 1.10.0 时使用 --password-from-stdin 参数。

repo

别名:name, repository

字符串 / 必需

仓库的 Subversion URL。

revision

别名:rev, version

字符串

要检出的特定修订版本。

默认值: "HEAD"

switch

布尔值

如果 false,则在更新之前不调用 svn switch。

选项

  • false

  • true ← (默认)

update

布尔值

如果 false,则不从源仓库检索新修订版本。

选项

  • false

  • true ← (默认)

username

字符串

传递给 svn 的 --username 参数。

validate_certs

布尔值

在 ansible-core 2.11 中添加

如果 false,则将 --trust-server-cert 标志传递给 svn。

如果 true,则不传递该标志。

选项

  • false ← (默认)

  • true

属性

属性

支持

描述

check_mode

支持:完全

可以在 check_mode 中运行并返回 changed 状态预测,而无需修改目标,如果不支持,则将跳过该操作。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的内容的详细信息

platform

平台: posix

可以对其进行操作的目标操作系统/系列

备注

注意

  • 此模块不处理外部项。

示例

- name: Checkout subversion repository to specified folder
  ansible.builtin.subversion:
    repo: svn+ssh://an.example.org/path/to/repo
    dest: /src/checkout

- name: Export subversion directory to folder
  ansible.builtin.subversion:
    repo: svn+ssh://an.example.org/path/to/repo
    dest: /src/export
    export: yes

- name: Get information about the repository whether or not it has already been cloned locally
  ansible.builtin.subversion:
    repo: svn+ssh://an.example.org/path/to/repo
    dest: /src/checkout
    checkout: no
    update: no

作者

  • Dane Summers (@dsummersl)