存储库的密钥 (Secret) 是用来存储和管理敏感信息的,如密码、令牌和 ssh 密钥。将这些信息存储在密钥 (Secret) 中被认为比以纯文本形式存储在你的配置文件中更安全。
创建、更新或删除存储库的密钥 (Secret) 需要推送权限或管理员权限。
你可以在版本库设置界面上管理版本库的密钥 (Secret):
以下是从指定的密钥 (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 来覆盖这一默认行为,但请注意:风险自负。