Как создать sh поддерево из git репо в Heroku с помощью Github Actions? - PullRequest
4 голосов
/ 10 февраля 2020

Я пытался создать sh поддерево как часть моего репозитория Github, который включает в себя внешний и внутренний интерфейсы. Я толкаю папку внешнего интерфейса или внутреннюю папку с помощью Github Actions в Heroku, используя эту команду: git subtree push --prefix {folder} heroku master

  name: HerokuCI

   on:
    push:
branches:
- master

jobs:
   build:
runs-on: ubuntu-latest
strategy:
  matrix:
    os: [ubuntu-latest, windows-latest, macOS-latest]

steps:
- uses: actions/checkout@master
- name: Login to Heroku 
  env: 
    HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
  run: heroku container:login 
- name: Build and push frontend
  env:
    HEROKU_FRONTEND_APP_NAME: ${{ secrets.HEROKU_FRONTEND_APP_NAME }}
  if: github.ref == 'refs/heads/master' && job.status == 'success'
  run: |
       heroku git:remote -a $HEROKU_FRONTEND_APP_NAME
       git subtree push --prefix frontend heroku master
- name: Build and push backend
  env:
    HEROKU_BACKEND_APP_NAME: ${{ secrets.HEROKU_BACKEND_APP_NAME }}
  if: github.ref == 'refs/heads/master' && job.status == 'success'
  run: |
       heroku git:remote -a $HEROKU_BACKEND_APP_NAME
       git subtree push --prefix backend heroku master

И она выдала эту ошибку

git pu sh, используя : heroku master heroku: Нажмите любую клавишу, чтобы открыть браузер, чтобы войти в систему, или q, чтобы выйти: 1/1 (0) [0] fatal: 'heroku' не является фатальным git хранилищем: не удалось прочитать из удаленный репозиторий.

Убедитесь, что у вас есть правильные права доступа, и репозиторий существует.

[ошибка] Процесс завершен с кодом выхода 128.

1 Ответ

0 голосов
/ 15 апреля 2020

Надеюсь, это поможет. Я использовал это для своего рабочего процесса, текущая ветвь - dev, и я запускаю действие, когда происходит pu sh на ветку.

name: Staging deployment

on:
  push:
    branches:
      - dev

jobs:
  build:
    runs-on: ubuntu-latest

steps:
  - uses: actions/checkout@v1

  - name: Add api remote origin
    run: |
      git remote add heroku-api https://heroku:${{ secrets.HEROKU_API_KEY }}@git.heroku.com/${{ secrets.HEROKU_SERVE_APP_NAME }}.git
  - name: Deploy api to Heroku
    run: |
      git subtree push --prefix server heroku-api master
  - name: Add frontend remote origin
    run: |
      git remote add heroku-frontend https://heroku:${{ secrets.HEROKU_API_KEY }}@git.heroku.com/${{ secrets.HEROKU_FRONTEND_APP_NAME }}.git
  - name: Deploy frontend to Heroku
    run: |
      git subtree push --prefix frontend heroku-frontend master

В идеале вы могли бы упростить это далее, удалив шаг для установки удаленный и используйте URL-адрес Heroku непосредственно на этапе развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...