我正在做一个项目,我们使用firebase来存储数据,我们正在做一些单元测试。我设置了一个github操作,在每个push或pull请求上执行mvn package和mvn test,问题是在它执行测试时收到以下错误:
java.io.ioexception:应用程序默认凭据不可用。如果在google计算引擎中运行,它们是可用的。否则,必须定义指向定义凭据的文件的环境变量google\u application\u credentials。看到了吗https://developers.google.com/accounts/docs/application-default-credentials 更多信息。
我已经用.json创建了这个秘密,下面是我编写github操作的方式:
name: Maven CI/CD
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 15
uses: actions/setup-java@v1
with:
java-version: 15
- name: Cache the Maven packages to speed up build
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build project with Maven
run: mvn -B package --file pom.xml
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
- name: Run (J)Unit tests
run: mvn clean test
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
1条答案
按热度按时间qybjjes11#
我发现它没有使用更新版本的动作。总之,我解决了使用谷歌github行动/setup-gcloud@master 设置如下:
gcp\u project\u id包含项目id,gcp\u sa\u key包含从firebase获得的service account.json文件。