В этом руководстве я покажу, как использовать 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/