# #firebase #gitlab #gitlab-ci-runner #firebase-admin
# # #firebase #gitlab #gitlab-ci-runner #firebase-администратор
Вопрос:
Хотелось бы автоматически развертывать функции Firebase с помощью бегунов Git Lab. Возникли проблемы с файлом закрытого ключа Firebase Admin SKD
Локальная среда содержит файл admin.json По причине, по которой этот файл будет удален из GitLab (admin.json), я создал переменную среды GitLab runner, содержащую объект admin.json.
admin.json == переменная среды gitlab с именем admin_token
Я пытался использовать
cat >> admin.json << 'END'
$admin_token
END
Для создания временного файла admin.json //admin_token — это переменная среды в GitLab
mage: node:10.11.0 # can be upgraded, depending on your node version used
stages:
- build
- deploy
cache:
paths:
- project/node_modules/
- /x/functions/node_modules/
build:
stage: build
script:
- echo "Build"
- cd project
- npm i
- CI=false npm run build
artifacts:
paths:
- ./project/build
- ./project/firebase.json
- ./project/.firebaserc
- ./project/functions
only:
- Production
deploy:
stage: deploy
environment: production
script:
- echo "Deploy"
- cd ref_project
- cd functions
- cat >> admin.json << 'END'
- $admin_token
- END
- cat admin.json
- npm i
- npm -g config set user root
- npm i -g firebase-tools
- firebase use project-xxxxx --token $FIREBASE_TOKEN
- firebase deploy --token $FIREBASE_TOKEN
only:
- Production
Комментарии:
1. Я рекомендую вам прочитать раздел секретных переменных Gitlab здесь: docs.gitlab.com/ee/ci/variables/#secret-variables
2. Если я прав, вы хотите запускать переменные env в Gitlab во время развертывания вашего приложения, но не сохранять их в нем? В этой ссылке, которой я поделился с вами, упоминалось об этом, но вы все же предоставите свои переменные.