Drone CI 中文文档

密钥加密 (Encrypted)

加密的密钥 (Secret) 用于存储敏感信息,如密码、令牌和 ssh 密钥,直接在你的配置文件中作为一个加密的字符串。每个密钥 (Secret) 在你的配置文件中被表示为一个 yaml 文档。

你可以使用命令行工具来加密密钥 (Secret)。每个密钥 (Secret) 都是通过使用 aes-gcm 算法,使用存储库密钥 (Per Repository) 进行加密的。这个密钥永远不会离开当前服务器环境。

以下是加密密钥 (Secret) 的命令示例:

1
drone encrypt <repository> <secret>
1
2
$ drone encrypt octocat/hello-world top-secret-password
hl3v+FODjduX0UpXBHgYzPzVTppQblg51CVgCbgDk4U=

以下是带有加密密钥 (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: username

---
kind: secret
name: username
data: hl3v+FODjduX0UpXBHgYzPzVTppQblg51CVgCbgDk4U=

...

使用 Pull Requests

默认情况下,密钥 (Secret) 不会暴露给 Pull Request。这可以防止他人通过发送 Pull Request 并试图窃取你的密钥 (Secret)。