Drone CI 中文文档

AWS 密钥

AWS Secrets Manager 在现代计算中保护、存储和控制对令牌、密码、证书和其他密钥 (Secret) 的访问。AWS Secrets Manager 扩展为你的管道提供对 AWS 密钥 (Secret) 的访问。

请注意该功能在 Drone Cloud 上是禁用的。该功能仅在本地部署时(自托管版本)可用。
AWS Secrets 集成是由一个扩展提供的,只有当你的系统管理员安装了该扩展时才可用。

创建密钥

从 AWS 控制台创建一个密钥 (Secret)。在下面的例子中,我们存储了 Docker 的用户名和密码。

AWS Secrets AWS Secrets

访问密钥

一旦我们的密钥存储在 AWS 中,我们就可以更新我们的 yaml 配置文件来请求访问我们的密钥 (Secret)。首先,我们在 yaml 中为每个外部密钥定义一个密钥资源,其中包括密钥的路径,以及我们想要检索的密钥值的名称或关键字。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
kind: pipeline
name: default

steps:
- name: build
  image: alpine

---
kind: secret
name: username
get:
  path: prod/docker
  name: username

---
kind: secret
name: password
get:
  path: prod/docker
  name: password
...

之后,我们就能流水线中引用指定名称的密钥 (Secret):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
kind: pipeline
name: default

steps:
- name: build
  image: alpine
  environment:
    USERNAME:
      from_secret: username
    PASSWORD:
      from_secret: password

---
kind: secret
name: username
get:
  path: prod/docker
  name: username

---
kind: secret
name: password
get:
  path: prod/docker
  name: password

...