环境变量可在流水线中通过使用键值对以便重复手动更新相同的值。环境变量让开发人员节省查找和输入访问信息的时间,并消除在其脚本中提供敏感详细信息的风险。
ENV变量用于参数化构建脚本,在流水线中设置变量将致使相同的构建操作根据流水线以不同的方式工作。
设置环境变量
添加新变量时,以下字段可用:
- 权限范围 – 定义变量的权限范围级别
- 加密 – 启用加密将隐藏日志中的变量值
- 类型 – 如果您设置为固定,变量的值将始终不变。切换选项至可设置将让您更改值并将其传递给下一个操作或执行。
环境变量分为4个级别:
- 工作区 - 适用于所有项目和流水线,在工作区选项中配置。
- 项目 - 可用于项目中的所有流水线,在项目选项中配置。
- 流水线 - 仅适用于所创建的流水线(例如,生产服务器信息),在流水线中配置。
- 操作 - 仅适用于定义变量的操作
危险
每个后续层都将覆盖更高层次的值。例如,如果您有两个相同的变量:一个在工作区级别定义,另一个在流水线级别定义,Buddy将使用该流水线中的流水线设置值以及帐户其余部分的工作区值。
信息
使用示例
让我们配置一些变量来加密对 FTP 服务器的访问:
- 转到您的部署流水线并点击变量选项卡
- 添加具有相应值的变量,例如:
- Hostname:
FTP_HOST
/192.168.0.100
- Login:
FTP_LOGIN
/admin
- Password:
FTP_PASS
/buddy1234
- Hostname:
- 现在,您可以使用变量将访问凭据存储访问到部署服务器:
支持环境变量字段
整个服务都支持环境变量,但最常用于构建操作。您可以通过在支持字段的开头输入$
来预设变量:
以下是当前支持的字段列表:
操作名称 | 支持字段 |
---|---|
Amazon S3 | SourcePath, Remote Path, Tag Objects Value |
AWS CLI | Run Commands |
AWS CLI 2 | Run Commands |
AWS ECS | Source Path |
AWS Lambda Deploy | Source Path |
AWS Lambda Trigger | Payload |
Azure App Service | URL, Login, Password |
Azure CLI | Run Commands |
Azure Storage | Source Path, Remote Path |
Build Android App | Run Commands, Mount Filesystem Path, Mount Container Path, Working dir |
Build Android React Native Application | Run Commands, Mount Filesystem Path, Mount Container Path, Working dir |
Build Docker Image | Name, Value |
Build Flutter App | Run Commands, Mount Filesystem Path, Mount Container Path, Working dir |
Build Ionic app | Mount Filesystem Path, Mount Container Path, Working dir |
Bugsnag | API Key, Version, Revision, Builder Name, Release Stage |
CloudFront | Base URL, Source Path |
Cloudflare | Base URL |
CodeDeploy | Source Path, Bucke tName, Description |
Compress images | Source Path, Destination Path |
Copy files | Source Path, Remote Path |
Custom Build | Run Commands, Mount Filesystem Path, Mount Container Path, Working dir |
Datadog | Event Title, Content, Host, Tags, Aggregation Key |
Datadog Service Check | Hostname, Check |
DigitalOcean Droplet | Source Path, Port, Login, Password, Remote Path, SSH Key Passphrase |
DigitalOcean Spaces | SourcePath, Remote Path |
DigitalOcean Spaces CDN | BaseURL |
Discord | Channel, Attachments, Message |
Dockerfile | Build Argumen |