5.3. 在构建期间保护输入
在某些情况下,构建操作需要凭证才能访问依赖的资源,但这些凭证最好不要在通过构建生成的最终应用程序镜像中可用。您可以定义输入 secret 以实现这一目的。
例如,在构建 Node.js 应用程序时,您可以为 Node.js 模块设置私有镜像。要从该私有镜像下载模块,您必须为包含 URL、用户名和密码的构建提供自定义 .npmrc 文件。为安全起见,不应在应用程序镜像中公开您的凭证。
通过使用此示例场景,您可以在新 BuildConfig
中添加输入 secret:
如果 secret 不存在,则进行创建:
$ oc create secret generic secret-npmrc --from-file=.npmrc=~/.npmrc
这会创建一个名为 secret-npmrc 的新 secret,其包含 ~/.npmrc 文件的 base64 编码内容。
将该 secret 添加到现有
BuildConfig
的source
部分中:source: git: uri: https://github.com/sclorg/nodejs-ex.git secrets: - secret: name: secret-npmrc
要在新
BuildConfig
中包含该 secret,请运行以下命令:$ oc new-build \ openshift/nodejs-010-centos7~https://github.com/sclorg/nodejs-ex.git \ --build-secret secret-npmrc
深入阅读
- OpenShift Container Platform 开发者指南: 输入 Secret