Drone CI 中文文档

存储库密钥 (Per Repository)

存储库的密钥 (Secret) 是用来存储和管理敏感信息的,如密码、令牌和 ssh 密钥。将这些信息存储在密钥 (Secret) 中被认为比以纯文本形式存储在你的配置文件中更安全。

创建、更新或删除存储库的密钥 (Secret) 需要推送权限或管理员权限。

你可以在版本库设置界面上管理版本库的密钥 (Secret):

Repository Secrets

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

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

steps:
- name: build
  image: alpine
  environment:
    USERNAME:
      from_secret: docker_username
    PASSWORD:
      from_secret: docker_password
  commands:
    - echo "You can call the secrets like this examples below."
    - echo $USERNAME
    - echo $PASSWORD
    - echo "In both cases, and for security reasons, you will see asteriks '*******' instead the value under the echo command."

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
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
  commands:
    - echo "You can call the secrets like this examples below."
    - echo $USERNAME
    - echo $PASSWORD
    - echo "In both cases, and for security reasons, you will see asteriks '*******' instead the value under the echo command."

使用 Pull Requests

默认情况下,密钥 (Secret) 不会暴露给 Pull Request。这可以防止他人通过发送 Pull Request 并试图窃取你的密钥 (Secret)。你可以通过在创建密钥 (Secret) 时勾选 Allow Pull Requests 来覆盖这一默认行为,但请注意:风险自负