簡體   English   中英

如何使用 Github Actions 將子樹從 git repo 推送到 Heroku?

[英]How to push subtree from git repo to Heroku using Github Actions?

我試圖將子樹作為包括前端和后端的 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 push using: heroku master heroku: Press any key to open the browser to login or q to exit: 1/1 (0) [0] fatal: 'heroku' 似乎不是一個 git 存儲庫 致命的:無法讀取從遠程存儲庫。

請確保您擁有正確的訪問權限並且存儲庫存在。

[錯誤]進程已完成,退出代碼為 128。

我希望這有幫助。 我在我的工作流程中使用了它,當前分支是 dev 並且當發生對分支的推送時我會觸發該操作。

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

理想情況下,您可以通過刪除設置遠程的步驟並在部署步驟直接使用 Heroku 的 url 來進一步簡化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM