【问题标题】:How to push subtree from git repo to Heroku using Github Actions?如何使用 Github Actions 将子树从 git repo 推送到 Heroku?
【发布时间】:2020-05-26 04:51:28
【问题描述】:

我尝试将子树作为我的 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 使用:heroku master heroku: 按任意键打开浏览器登录或 q 退出: 1/1 (0) [0] 致命:“heroku”似乎不是 git 存储库 致命:无法从远程存储库读取。

请确保您拥有正确的访问权限 并且存储库存在。

[错误]进程完成,退出代码为 128。

【问题讨论】:

  • 你有没有得到这个工作?

标签: git github heroku continuous-integration github-actions


【解决方案1】:

我希望这会有所帮助。我将它用于我的工作流程,当前分支是 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 来进一步简化此操作。

【讨论】:

    猜你喜欢
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2011-08-24
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多