Как использовать токен для Github Actions с приватными репозиториями

В этом руководстве я покажу, как использовать API, который нам предлагает GitHub через свой токен, чтобы применить Action для непрерывного развертывания приватных репозиториев.

Создание токена

Откройте настройки вашего аккаунта.

Выберите пункт меню Developer settings.

Кликните на опцию Personal access tokens.

Нажмите на кнопку generate new token, затем скопируйте и сохраните его для дальнейшего использования.

Создание секретных ключей

Откройте настройки нашего проекта и нажмите на раздел Secrets. В моем случае у меня уже есть следующие секретные ключи:

URL репозитория по API

Для загрузки последних изменений из приватного репозитория мы будем использовать GitHub API вместе с нашим ранее сгенерированным и настроенным токеном, выглядит это следующим образом:

git pull https://${{ secrets.GIT_TOKEN }}:x-oauth-basic@github.com/susomejias/portfolio.git master

Пример разворачивания на VPS

  • В нашем проекте мы создаём папку с названием .github, а в папке под названием workflows будут содержаться файлы для наших Actions.
  • В данном примере мы создаём файл ci.yml, который содержит функциональность нашего Action.
  • В моем случае я показываю вам пример Action, который я использую для развертывания своего портфолио:
name: CI

on: [push]

jobs:
  deploy:
    if: github.ref == 'refs/heads/master'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: Push to server
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.SERVER_IP }}
          username: ${{ secrets.SERVER_USERNAME }}
          password: ${{ secrets.SERVER_PASSWORD }}
          script: cd ${{ secrets.PROJECT_PATH }} && git pull https://${{ secrets.GIT_TOKEN }}:x-oauth-basic@github.com/susomejias/portfolio.git master && npm install && ng build --prod && cp htaccess dist/portfolio/

Проверка работы

Выполните загрузку для проверки нового Action:

Источник: Use token for Github Actions with private repositories

Источник: https://www.kobzarev.com/programming/use-token-for-github-actions-with-private-repositories/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: