问题描述
我目前正在使用firebase-tools来通过Ubuntu OS进行部署。基于刷新令牌的使用,使用以下命令完成登录过程后,我已经能够成功完成此操作:
public Student(String name,String surname,Integer age) {
validateInput(name,surname,age);
this.name = name;
this.surname = surname;
this.age = age;
}
private void validateInput(String name,Integer age) {
if (name == null || name.isBlank()) throw new InvalidNewStudentNameException(HttpStatus.UNPROCESSABLE_ENTITY,name);
if (surname == null || surname.isBlank()) throw new InvalidNewStudentSurnameException(HttpStatus.UNPROCESSABLE_ENTITY,surname);
if (age == null || age < 16) throw new InvalidNewStudentAgeException(HttpStatus.UNPROCESSABLE_ENTITY,age);
}
但是我想使用github project中记录的环境变量,而不直接传递令牌(--token = $ FIREBASE_TOKEN):
GOOGLE_APPLICATION_CREDENTIALS-如果此环境变量指向服务帐户密钥文件,则Firebase CLI将作为服务帐户进行身份验证。 FIREBASE_TOKEN-您可以显式使用此环境变量从Firebase登录名ci中传递长期存在的用户令牌。
当我执行以下命令时, firebase-tools无法部署,因为登录过程从未执行过。看起来无法识别环境变量:
a)使用FIREBASE_TOKEN环境var
sudo firebase logout
sudo firebase login:ci //generated token
export FIREBASE_TOKEN='{generatedToken}'
sudo firebase deploy --token=$FIREBASE_TOKEN
b)使用GOOGLE_APPLICATION_CREDENTIALS环境var
sudo firebase logout
export FIREBASE_TOKEN='a new generated token'
sudo firebase deploy
我的凭据JSON文件如下所示:
sudo firebase logout
export GOOGLE_APPLICATION_CREDENTIALS='/path/service_account.json'
sudo firebase deploy
我在做什么错了?
非常感谢您!