Deploy на GH Pages, через workkflows GH Actions
Пытаюсь создать рабочий процесс для Gh Actions.
При регистрации указывал и email и имя в github.
файл .yml
name: Deployment Application
on: [push, workflow_dispatch]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Get repository code
uses: actions/checkout@v3
run: |
run: npm ci
run: npm run deploy
выполняемые скрипты
"deploy": "gh-pages -d public",
"predeploy": "tsc && sass src/sass:public/css"
Ответы (2 шт):
Автор решения: Vadik
→ Ссылка
Пропишите команды, которые устанавливают user.name и user.email, прямо в конфигурационном файле *.yml.
Вот базовый пример использования экшена actions/checkout@v3:
name: Example Checkout Action
on: workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: |
date > generated.txt
git config user.name github-actions
git config user.email [email protected]
git add .
git commit -m "generated"
git push
Автор решения: Евгений Колмак
→ Ссылка
Возможно пригодится кому-то рабочее решение.
Получение и добавление ТОКЕНА
Settings(настройки профиля) > Developer settings > Personal access tokens > Tokens (classic) > Generate new token ( Generate new token (classic) > (x[repo] и x[user]) даем название и Generate token.
- Не закрываем вкладку и копируем токен!
Settings(настройки репозитория) > Secrets > Actions > New Repository secret
- Names (Имя произвольное для вашего секрета/токена) | Secret (вставляете полученный токен).
Add secret
Yml файл
name: Deployment Application
# Триггеры на которые будет реагировать экшн (пуш и ручной запуск).
on: [push, workflow_dispatch]
# Тут хранится ваш секрет/токен (смотря какое вы дали ему название)
env:
TOKEN: ${{ secrets.TOKEN }}
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Get repository code
uses: actions/checkout@v3
- name: Include repository, build & deployment
run: |
git config user.name "Ваше имя"
git config user.email "Ваш эмейл"
git remote set-url origin https://git:${TOKEN}@github.com/имя_акаунта/репозиторий.git
# Установка зависимостей
npm ci
# Сам деплой
npm run deploy -u "ваше-имя <ваш-эмейл>"
.json
"scripts": {
"deploy": "gh-pages -d папка_откуда_забирать_файлы_на_деплой"
}
Или
npx gh-pages -d папка_откуда_забирать_файлы_на_деплой -u "ваше-имя <ваш-эмейл>"
