Drone CI 中文文档

组织密钥 (Per Organization)

组织密钥 (Secret) 是用来存储和管理敏感信息的,如密码、令牌和 ssh 密钥。将这些信息存储在一个密钥 (Secret) 中被认为比存储在你的配置文件中更安全。组织密钥 (Secret) 可以被任何属于指定组织的版本库使用。

请注意该功能在 Drone Cloud 上是禁用的。该功能仅在本地部署时(自托管版本)可用。
创建、更新或删除组织密钥 (Secret),需要系统管理员的角色权限。

以下是使用命令行工具创建组织密钥 (Secret) 的示例:

1
drone orgsecret add [organization] [name] [data]
1
drone orgsecret add octocat docker_password pa55word

以下是从指定的组织密钥 (Secret) 中获取环境变量的示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
kind: pipeline
name: default

steps:
- name: build
  image: alpine
  environment:
    USERNAME:
      from_secret: docker_username
    PASSWORD:
      from_secret: docker_password

以下是从指定的组织密钥 (Secret) 中获取插件设置的示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
kind: pipeline
name: default

steps:
- name: build
  image: plugins/docker
  settings:
    repo: octocat/hello-world
    username:
      from_secret: docker_username
    password:
      from_secret: docker_password

使用 Pull Requests

默认情况下,密钥 (Secret) 不会暴露给 Pull Request。这可以防止他人通过发送 Pull Request 并试图窃取你的密钥 (Secret)。你可以使用 --allow-pull-request 标志来覆盖这一默认行为,但请注意:风险自负