CI / CD Salesforce - 管道中的 Bitbucket ENVIRONMENT 变量问题

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

我正在尝试使用 bitbucket 为 salesforce 设置 CI/CD。

我为每个环境(qa、uat、生产)创建了一个连接的应用程序

在 bitbucket > 存储库设置 > 部署中:

我添加了用于临时环境和生产环境的沙箱。对于每个环境,我都设置了环境变量:

USERNAME
CONSUMER_KEY
LOGIN_URL
ENVIRONMENT

像这样:

enter image description here

但是当我推送提交来测试部署时,

ENVIRONMENT
变量返回错误。

环境变量未设置

我在脚本中使用 echo 来记录错误

set -e
# echo is used to print the message on the console
echo "Starting the build process for environment: $ENVIRONMENT"

if [ -z "$ENVIRONMENT" ]; then
    echo "ENVIRONMENT variable is not set."
    exit 1
fi

当前,当我明确创建

ENVIRONMENT
变量时,构建失败:

enter image description here

最后,这些是 bitbucket-pipelines.yml 中的部署步骤:

# Production deployment
release/master:
  - step: *build-pipeline
  - step: *destructive-pre
  - step: *deploy-full-package
  - step: *deploy-env-spec-config
  - step: *destructive-post

甚至尝试将部署添加到如下所示的步骤中:

# Production deployment
release/master:
 deployment: production
 steps:
  - step: *build-pipeline
  - step: *destructive-pre
  - step: *deploy-full-package
  - step: *deploy-env-spec-config
  - step: *destructive-post

环境变量仍然为空。

如何修复 ENVIRONMENT 变量为空的错误。

谢谢

continuous-integration salesforce bitbucket continuous-deployment cicd
1个回答
0
投票

如果有人面临同样的问题,我设法通过环境变量返回 null 来解决我的问题。 您需要在管道中使用阶段并在阶段级别定义部署,如下所示:

pipelines:
  branches:
    release/master:
      - stage:
          name: Some name for this stage
          deployment: production
          steps:
            - step: *build-pipeline
            - step: *destructive-pre
            - step: *deploy-full-package
            - step: *deploy-env-spec-config
            - step: *destructive-post
© www.soinside.com 2019 - 2024. All rights reserved.