Как я могу использовать секреты Github в JS файлах - PullRequest
0 голосов
/ 10 января 2020

У меня есть базовое репозиторий c git, настроенный с действиями github для сборки и развертывания (в основном HTML и файлы TS).

Однако я должен использовать в некоторых API-ключах, которые требуют быть секретным.

Итак, я решил использовать для них GITHUB SECRETS.

Как я могу получить доступ к GITHUB SECRETS в моих js (или TS) файлах, чтобы он мог правильно работать с действиями github?

Ответы [ 2 ]

2 голосов
/ 11 января 2020

Вы можете передавать секреты как переменные ENV.

Пример:

   ...
   steps:
      - name: Git checkout
        uses: actions/checkout@v2

      - name: Use Node 12.x
        uses: actions/setup-node@v1
        with:
          node-version: 12.x

      - name: Install Dependencies (prod)
        run: yarn install --frozen-lockfile --production

      - name: Run Tests (JEST)
        run: yarn test --ci --silent --testPathIgnorePatterns=experimental
        env:
          CI: true
          API_KEY: ${{ secrets.API_KEY }}

В Node.js вы можете получить к нему доступ через process.env.API_KEY.

0 голосов
/ 11 января 2020

Я нахожу способ добиться этого, хотя он может быть не самым лучшим (и я определенно не bash эксперт)

Так что создайте файл setEnv. sh

mkdir env
echo "export const environment = { firebase_api_key : '$1' }"  > env/env.ts

В качестве первого параметра в качестве ключа API создайте папку env и сохраните код TS с ключом API.

Затем добавьте эту строку

- run: sh setEnvironment.sh ${{ secrets.FIREBASE_API_KEY }}

в сценарий действия github. , который выполнит ваш скрипт и установит секретный ключ.

Теперь вам просто нужно использовать environment.firebase_api_key в вашем коде.

Примечание: Ваша сборка должна зашифровать ваш ключ, иначе он будет открыт. Но это может быть полезно, например, если вы используете ключи API на своем сайте и хотите, чтобы код вашего сайта был доступен в publi c на Github без этих простых ключей.

...