尝试在 Openshift 中创建机密时出现问题:必须使用“/opt/app-root/src/”内已安装的 {} 文件路径进行设置 ###

问题描述 投票:0回答:2

我正在使用 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/' ###

知道为什么会发生这种情况以及我能做些什么来解决它吗?

kubernetes devops openshift kubernetes-secrets
2个回答
0
投票

它要求在使用

/opt/app-root/src/artifactory-credential
设置的构建环境中提供 ARTIFACTORY_CREDENTIAL 环境变量。您可以将其包含在构建配置中,也可以在开始构建时通过 cli 通过
--env
提供它。


0
投票

将名称添加到 stringData 如下对我有用

type: Opaque
    stringData:
      artifactory-credential: |
        username: ${ARTIFACTORY_USER}
        password: ${ARTIFACTORY_PASSWORD}
© www.soinside.com 2019 - 2024. All rights reserved.