我打算将我的 npm 令牌传递给 gcp cloud build,以便我可以在多阶段构建中使用它来安装私有 npm 包。
我有以下删节的 Dockerfile:
FROM ubuntu:14.04 AS build
ARG NPM_TOKEN
RUN echo "NPM_TOKEN:: ${NPM_TOKEN}"
Run Code Online (Sandbox Code Playgroud)
以及以下删节的 cloudbuild.yaml:
---
steps:
- name: gcr.io/cloud-builders/gcloud
entrypoint: 'bash'
args: [ '-c', 'gcloud secrets versions access latest --secret=my-npm-token > npm-token.txt' ]
- name: gcr.io/cloud-builders/docker
args:
- build
- "-t"
- gcr.io/my-project/my-program
- "."
- "--build-arg NPM_TOKEN= < npm-token.txt"
- "--no-cache"
Run Code Online (Sandbox Code Playgroud)
我的 cloudbuild.yaml 基于文档,但似乎我无法将两个和两个放在一起,因为表达式:“--build-arg NPM_TOKEN= < npm-token.txt”不起作用。我已经测试了 DockerFile,当我直接传入 npm 令牌时,它可以工作。我只是无法将 gcloud 秘密中的令牌作为构建参数传递给 docker。
非常感谢帮助!