Рубрики
Uncategorized

Как сохранить секрет, ваш шрифт потрясающий про токен в публичных действиях GitHub

Настройте действия GitHub, чтобы сохранить секрет, который ваш шрифт Awesome Pro Token или NPM частные токены. Теги с DevOps, WebDev, Github, Fontawesome.

фото Серкан Турк на Бессмысленно

Вчера Julien Renaux Опубликовано Серия интересных новых сообщений в блоге. В одном из них он, особенно показал, шаг за шагом, Как развернуть приложения Stirectjs с действиями GitHub и хостинг Firebase Отказ

Этот учебник действительно попал в глаза, потому что все приложения нашего веб-открытого исходного кода Deckdeckgo разрабатываются с Startrys и размещен на Firebase 😁.

Конечно, я не мог подождать так много И я должен был дать это попробовать. Потому что мне придется внести изменения в токены по производству блокировки по-разному, если я использую CI для создания нашего редактора для презентаций, я думал, что смогу сначала попробовать свой рецепт в нынешних Ionic Rect Демо-приложение Я разработаю для наших Встреча Следующая неделя.

В результате он просто работал без проблем Он так хорошо работал, и установка была настолько проста, что я думал, что смогу быстро настроить еще одно развертывание CI для моего Веб-сайт слишком.

К сожалению, это не сработало 😕 Даже если технологии и стек моего сайта, построить с GATSBY , как-то действительно похоже на небольшое приложение, сборка, выполненная CI, не удалась:

X Download Artifact
  1 Run actions/download-artifact@master
  2 with:
  3    name: build
  4 Download artifact 'build' to: '/home/runner/work/daviddalbusco.com/daviddalbusco.com/build'
  5 
6 

Сначала я не понял ошибку. Конечно, я заметил, что некоторые артефакты не могут быть скачаны, но я не знал, что там, где эти эти И какова была корневая причина. Через немного я наконец вспомнил, что привык сталкиваться с аналогичной проблемой с другим CI.

Для моего сайта я использую Шрифт потрясающий и, в частности, @ Fortawesome/Pro-Light-SVG-Icons Иконы, которые можно использовать только в том случае, если мой связанный шрифт Awesome Pro NPM Token настроен. Хотя документация ясно объясняет, как настроить токен локально, они не (или, по крайней мере, я сначала не узнал) предоставить пример, который отображает, как скрыть его от публичного хранилища. Поэтому цель этого блога пост.

Настройте реестр NPM

Шрифт Awesome NPM токен может быть установлен в глобальном масштабе или на проект. Метод, который нам нужен для создания нашего проекта с CI, является последним, «на проект». Для этой цели мы создаем новый файл .npmrc. В корне вашего проекта. К вопреки документации мы добавляем только одну строку в файле соответственно мы добавляем только ссылку на шрифт Awesome Packet Manager. Мы намеренно игнорируем, чтобы указать все, что касается нашего токена.

@fortawesome:registry=https://npm.fontawesome.com/

Настройте новый секрет в Github

Поскольку мы не предоставили токену в предыдущем файле, нам придется предоставить ему действие Github по-другому, в противном случае он все равно не сможет загрузить зависимость. К счастью, Github уже предоставляет возможность сохранить тайну переменных среды. Поэтому мы максимально используем этот вариант, и мы создаем новый секрет для нашего шрифта потрясающего токена NPM. Например, давайте назовем это Fontawesome_npm_auth_token. .

Настройте секрет GitHub для шрифта потрясающий токен NPM

Используйте секрет в нашем CI

Если вы уже следили за учебником Julien, ваш рабочий процесс CI, вероятно, уже содержит следующее, чтобы установить зависимости от NPM вашего приложения:

- name: Install Dependencies
        run: npm ci

Это корень нашей проблемы, так как NPM не знает о конкретном реестре и токене, он должен использовать для загрузки конкретного артефакта. Поэтому мы наконец будем решить проблему, запустив командную строку перед установкой, чтобы настроить NPM с нашим секретным токеном.

Труба ( | ) Давайте укажем несколько команд всех запущений в той же оболочке (см. Документацию ).

- name: Install Dependencies
      run: |
        npm config set '//npm.fontawesome.com/:_authToken' "${{ secrets.FONTAWESOME_NPM_AUTH_TOKEN }}"
        npm ci

И Voilà, наши CI теперь должны иметь возможность загружать необходимую зависимость и, следовательно, построить и развернуть наш проект 🎉

Успешно CI, Happy CI 😺

Вишня на торте 🍒🎂

Мой сайт является открытым исходным кодом и доступно на Github Проверьте это, чтобы подтвердить решение с вашими глазами 😉

До бесконечности и за пределами 🚀

Дэйвид

Оригинал: «https://dev.to/daviddalbusco/how-to-keep-secret-your-font-awesome-pro-token-in-public-github-actions-dm3»