community.general.gitlab_deploy_key 模块 – 管理 GitLab 项目部署密钥

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装它,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他需求才能使用此模块,请参阅 需求了解详情。

要在剧本中使用它,请指定:community.general.gitlab_deploy_key

概要

  • 添加、更新和删除项目部署密钥

需求

执行此模块的主机需要以下需求。

参数

参数

注释

api_job_token

字符串

在 community.general 4.2.0 中添加

用于登录的 GitLab CI 作业令牌。

api_oauth_token

字符串

在 community.general 4.2.0 中添加

用于登录的 GitLab OAuth 令牌。

api_password

字符串

用于对 API 进行身份验证的密码。

api_token

字符串

具有 API 权限的 GitLab 访问令牌。

api_url

字符串

API 的可解析端点。

api_username

字符串

用于对 API 进行身份验证的用户名。

ca_path

字符串

在 community.general 8.1.0 中添加

用于验证 GitLab 服务器证书的 CA 证书包。

can_push

布尔值

此密钥是否可以推送到项目。

选项

  • false ← (默认)

  • true

key

字符串 / 必需

部署密钥

project

字符串 / 必需

项目的 ID 或完整路径,格式为 group/name。

state

字符串

present 时,如果项目中不存在部署密钥,则将其添加到项目中。

absent 时,如果项目中存在,则将其从项目中删除。

选项

  • "present" ← (默认)

  • "absent"

title

字符串 / 必需

部署密钥的标题。

validate_certs

布尔值

是否在提供 HTTPS 端点时验证 SSL 证书。

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

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

示例

- name: "Adding a project deploy key"
  community.general.gitlab_deploy_key:
    api_url: https://gitlab.example.com/
    api_token: "{{ api_token }}"
    project: "my_group/my_project"
    title: "Jenkins CI"
    state: present
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9w..."

- name: "Update the above deploy key to add push access"
  community.general.gitlab_deploy_key:
    api_url: https://gitlab.example.com/
    api_token: "{{ api_token }}"
    project: "my_group/my_project"
    title: "Jenkins CI"
    state: present
    can_push: true

- name: "Remove the previous deploy key from the project"
  community.general.gitlab_deploy_key:
    api_url: https://gitlab.example.com/
    api_token: "{{ api_token }}"
    project: "my_group/my_project"
    state: absent
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9w..."

返回值

公共返回值已记录在 此处,以下是此模块特有的字段

描述

deploy_key

字典

API 对象

返回:始终

error

字符串

GitLab API 返回的错误消息

返回:失败

示例:"400: key is already in use"

msg

字符串

成功或失败消息

返回:始终

示例:"Success"

result

字典

来自服务器的 JSON 解析响应

返回:始终

作者

  • Marcus Watkins (@marwatk)

  • Guillaume Martinez (@Lunik)