community.general.github_deploy_key 模块 – 管理 GitHub 仓库的部署密钥
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.general。
要在 playbook 中使用它,请指定:community.general.github_deploy_key。
概要
- 为 GitHub 仓库添加或删除部署密钥。支持使用用户名和密码、用户名和密码以及双因素身份验证码 (OTP)、OAuth2 令牌或个人访问令牌进行身份验证。需要仓库的管理员权限。 
参数
| 参数 | 注释 | 
|---|---|
| 如果为  选项 
 | |
| GitHub API 的基本 URL 默认值:  | |
| 要添加到仓库作为部署密钥的 SSH 公钥。 | |
| 部署密钥的名称。 | |
| 拥有 GitHub 仓库的个人帐户或组织的名称。 | |
| 如果为  选项 
 | |
| GitHub 仓库的名称。 | |
| 部署密钥的状态。 选项 
 | |
| 用于身份验证的 OAuth2 令牌或个人访问令牌。与  | |
| 用于身份验证的用户名。使用个人访问令牌时不应设置 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持: 完全 | 可以在  | |
| 支持: 无 | 在 diff 模式下运行时,将返回有关已更改(或可能需要在  | 
说明
注意
- 请参阅 GitHub 的 API 文档:https://developer.github.com/v3/repos/keys/。 
示例
- name: Add a new read-only deploy key to a GitHub repository using basic authentication
  community.general.github_deploy_key:
    owner: "johndoe"
    repo: "example"
    name: "new-deploy-key"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    read_only: true
    username: "johndoe"
    password: "supersecretpassword"
- name: Remove an existing deploy key from a GitHub repository
  community.general.github_deploy_key:
    owner: "johndoe"
    repository: "example"
    name: "new-deploy-key"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    force: true
    username: "johndoe"
    password: "supersecretpassword"
    state: absent
- name: Add a new deploy key to a GitHub repository, replace an existing key, use an OAuth2 token to authenticate
  community.general.github_deploy_key:
    owner: "johndoe"
    repository: "example"
    name: "new-deploy-key"
    key: "{{ lookup('file', '~/.ssh/github.pub') }}"
    force: true
    token: "ABAQDAwXxn7kIMNWzcDfo..."
- name: Re-add a deploy key to a GitHub repository but with a different name
  community.general.github_deploy_key:
    owner: "johndoe"
    repository: "example"
    name: "replace-deploy-key"
    key: "{{ lookup('file', '~/.ssh/github.pub') }}"
    username: "johndoe"
    password: "supersecretpassword"
- name: Add a new deploy key to a GitHub repository using 2FA
  community.general.github_deploy_key:
    owner: "johndoe"
    repo: "example"
    name: "new-deploy-key-2"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    username: "johndoe"
    password: "supersecretpassword"
    otp: 123456
- name: Add a read-only deploy key to a repository hosted on GitHub Enterprise
  community.general.github_deploy_key:
    github_url: "https://api.example.com"
    owner: "janedoe"
    repo: "example"
    name: "new-deploy-key"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    read_only: true
    username: "janedoe"
    password: "supersecretpassword"
返回值
常见的返回值记录在这里,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| GitHub API返回的错误消息 返回: 失败 示例:  | |
| GitHub API返回的HTTP状态码 返回: 失败 示例:  | |
| GitHub为部署密钥分配的密钥标识符 返回: 已更改 示例:  | |
| 描述发生了什么的状态消息 返回: 总是 示例:  | 
