[英]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 存儲庫 致命的:無法讀取從遠程存儲庫。
請確保您擁有正確的訪問權限並且存儲庫存在。
我希望這有幫助。 我在我的工作流程中使用了它,當前分支是 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.