我正在使用 OpenShift V4 并尝试创建一个名为 artifactory-credential 的机密,其中包含用户名和密码,并且类型为“不透明”。
我将用户名和密码传递到一个 Secret.yaml 文件,如下所示
metadata:
name: "${APP_NAME}-secret"
objects:
- apiVersion: v1
kind: Secret
metadata:
labels:
app: ${APP_NAME}
name: artifactory-credential
type: Opaque
stringData:
username: ${ARTIFACTORY_USER}
password: ${ARTIFACTORY_PASSWORD}
parameters:
- name: ARTIFACTORY_USER
description: "artifactory credential user"
required: true
- name: ARTIFACTORY_PASSWORD
description: "artifactory credential password"
我的 build.yaml 文件有此部分:
spec:
source:
type: Secret
binary: {}
secrets:
- secret:
name: artifactory-credential
destinationDir: /opt/app-root/src
当我运行 jenkins pipeline 脚本时,出现此错误:
### ARTIFACTORY_CREDENTIAL must be set with the mounted artifactory-credential file path inside '/opt/app-root/src/' ###
知道为什么会发生这种情况以及我能做些什么来解决它吗?
它要求在使用
/opt/app-root/src/artifactory-credential
设置的构建环境中提供 ARTIFACTORY_CREDENTIAL 环境变量。您可以将其包含在构建配置中,也可以在开始构建时通过 cli 通过 --env
提供它。
将名称添加到 stringData 如下对我有用
type: Opaque
stringData:
artifactory-credential: |
username: ${ARTIFACTORY_USER}
password: ${ARTIFACTORY_PASSWORD}