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

注意

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

概要

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

需求

以下需求是在执行此模块的主机上所需的。

  • 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 中运行并返回更改状态预测,而不会修改目标,如果不受支持,则将跳过操作。

diff_mode

支持:

将在 diff 模式下返回有关更改内容(或可能需要更改的内容)的详细信息。

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)