我正在尝试为我的系统运行集成测试。
为了运行测试,我使用GitHub操作CI/CD,它在PR上运行测试
我已尝试将其添加到我的测试运行程序中
- name: install and run gcloud
run: |
curl -s https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-410.0.0-linux-x86_64.tar.gz --output /tmp/google-cloud-sdk.tar.gz
cd /tmp && tar xzf google-cloud-sdk.tar.gz
./google-cloud-sdk/install.sh --quiet
./google-cloud-sdk/bin/gcloud --quiet beta emulators bigtable start --project=google_cloud_tests &
- name: Set Git credentials
env:
TOKEN: ${{ secrets.gh-bot-token }}
run: |
make gh-actions-git-creds
- name: Start services
env:
PGHOST: localhost
PGUSER: postgres
PGPASSWORD: development
run: |
make docker-init
- name: Update DB seeds
run: |
make update-db-seeds
- name: Install testmo cli
run: make install-testmo
- name: Add github configs to testmo
run: make testmo-send-config
- name: Run tests
run: make ${{ inputs.task }}
env:
GOTESTSUM_JUNITFILE: tests_results.xml
GOOGLE_CLOUD_PROJECT_ID: google_cloud_tests
GOOGLE_PROJECT_ID: google_cloud_tests
INSTANCE_ID: google_cloud_tests
BIGTABLE_EMULATOR_HOST: localhost:8086
字符串
但我还是收到了这期
{"l":"error","a":"tests","t":"2023-07-07T16:47:51Z","m":"Got a APIError on 'PUT /api/user/2450001108/notes' create bigtable client: failed to initialize client: dialing: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information. "}
型
因此,在测试环境中,我不确定是否应该设置这些变量,或者是否应该由模拟器自动设置。
我该如何着手解决这个问题?
我在上面提供的tests.yaml中添加了配置。尝试导出一些变量作为一个步骤。但好像不管用。我正在尝试使用GoLang Bigtable客户端。
1条答案
按热度按时间6psbrbz91#
您能否提供有关项目结构的更多信息,包括GoLang Bigtable客户端初始化的代码,以及任何其他相关细节,以帮助我们进一步诊断问题?
同时,您可以尝试执行以下步骤来解决问题:
1.从Google Cloud Console生成服务帐户密钥
1.在GitHub Actions工作流中,设置身份验证所需的环境变量。将环境变量设置为服务帐户密钥文件的路径。
字符串
1.在测试中使用环境变量。导出测试会话的环境变量,确保GoLang Bigtable客户端可以找到
GOOGLE_APPLICATION_CREDENTIALS
中指定的凭据。