4.2. 为 Git 配置基本身份验证

管道若要从密码保护的存储库检索资源,您必须为该管道配置基本身份验证。

要为管道配置基本身份验证,请使用指定存储库的 Git secret 中的凭证更新 secret.yamlserviceaccount.yamlrun.yaml 文件。完成此过程后,OpenShift Pipelines 可使用该信息来检索指定的管道资源。

注意

对于 GitHub,已弃用使用普通密码进行身份验证。而应使用个人访问令牌

流程

  1. secret.yaml 文件中,指定用户名和密码或 GitHub 个人访问令牌来访问目标 Git 存储库。

    apiVersion: v1
    kind: Secret
    metadata:
      name: basic-user-pass 1
      annotations:
        tekton.dev/git-0: https://github.com
    type: kubernetes.io/basic-auth
    stringData:
      username: <username> 2
      password: <password> 3
    1
    secret 的名称。在本例中,basic-user-pass
    2
    Git 存储库的用户名。
    3
    Git 存储库的密码。
  2. serviceaccount.yaml 文件中,将 secret 与适当的服务帐户关联。

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: build-bot 1
    secrets:
      - name: basic-user-pass 2
    1
    服务帐户的名称。在本例中,build-bot
    2
    secret 的名称。在本例中,basic-user-pass
  3. run.yaml 文件中,将服务帐户与任务运行或管道运行关联。

    • 将服务帐户与任务运行关联:

      apiVersion: tekton.dev/v1beta1
      kind: TaskRun
      metadata:
        name: build-push-task-run-2 1
      spec:
        serviceAccountName: build-bot 2
        taskRef:
          name: build-push 3
      1
      任务运行的名称。在本例中,build-push-task-run-2
      2
      服务帐户的名称。在本例中,build-bot
      3
      任务的名称。在本例中,build-push
    • 将服务帐户与 PipelineRun 资源关联:

      apiVersion: tekton.dev/v1beta1
      kind: PipelineRun
      metadata:
        name: demo-pipeline 1
        namespace: default
      spec:
        serviceAccountName: build-bot 2
        pipelineRef:
          name: demo-pipeline 3
      1
      管道运行的名称。在本例中,demo-pipeline
      2
      服务帐户的名称。在本例中,build-bot
      3
      管道的名称。在本例中,demo-pipeline
  4. 应用更改。

    $ oc apply --filename secret.yaml,serviceaccount.yaml,run.yaml