无法使用 Cloud Run 和 Cloud Pub/Sub 创建 Cloud Build SMTP 通知程序

无法使用 Cloud Run 和 Cloud Pub/Sub 创建 Cloud Build SMTP 通知程序

我已经云构建 触发器创造持续集成/持续交付项目的管道,并且它工作得很好。现在,我想配置SMTP 通知这样整个项目团队就可以了解构建状态的最新情况。

云构建发布构建状态至云发布/订阅话题云构建。因此,为了实现这一点,我一直在关注 Google Cloud 发布的文档。

我完全按照文件上说的做了——

  1. 启用所需的 API。

  2. 创建了一个秘密来存储我的 SMTP 凭证。

  3. 授予 Compute Engine 默认服务帐号访问创建的机密的权限。

  4. 按照文档所述编写通知程序配置。

apiVersion: cloud-build-notifiers/v1
kind: SMTPNotifier
metadata:
  name: master-deloyed-to-staging.
spec:
  notification:
    filter: build.status == Build.Status.SUCCESS
    delivery:
      server: smtp.gmail.com
      port: '587'
      sender: [email protected]
      from: [email protected]
      recipients:
      - [email protected]
      - [email protected]
      - [email protected]
      - [email protected]
      - [email protected]
      password:
        secretRef: dropoff-gmail
  secrets:
  - name: dropoff-gmail
    value: projects/project-id/secrets/secret-name/versions/latest
  1. 创建一个存储桶并将 smtp-notifier.yaml 上传到其中。

  2. 现在,我准备了一个命令来将通知程序部署到云运行。我使用文档中使用的图像来部署到云构建

 gcloud run deploy dropoff-deployment-notifier \
   --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
   --update-env-vars=CONFIG_PATH=gs://dropoff-assets/cloud_run/smtp-notifier.yaml

返回一个错误 -

ERROR: (gcloud.run.deploy) Cloud Run error: Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable. Logs for this revision might contain more information.

正如错误中所述,PORT 有问题,但不知道如何修复。

答案1

转到此组件的云运行日志并直接在那里查看日志,这就是我能够识别问题并最终解决此问题的方法,因为我遇到了同样的问题。

就我而言,秘密名称的格式不太好。

在此处输入图片描述

相关内容