我想在Heroku上启用自动构建,只要我推送到GitHub上的master
分支,就像Heroku在我推送到连接到他们平台上的应用程序的分支时所做的那样。有什么办法可以做到这一点吗?
我们可以用GitHub Actions实现这个壮举。我们可以自动在Heroku上进行构建,因此无需担心通过Heroku -cli部署到Heroku。
在应用程序的根目录下,创建一个.github文件夹。
在.github文件夹中创建一个工作流文件夹
最后,在workflow文件夹中创建一个yaml文件。我将命名为build-heroku-app.yml。所以文件结构看起来像这样:
my-awesome-app
- .github
- workflow
- build-heroku-app.yml
在build-heroku-app。yml文件
# .github/workflows/build-heroku-app.yml // Just a comment
name: Build App on Heroku
on:
push: // type of event
branches:
- master // name of branch we want to listen to for event
jobs:
heroku-pull-request:
runs-on: ubuntu-latest
env:
HEROKU_APP_NAME: my-awesome-app // name of app on heroku
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.ref_name }}
- name: Login to Heroku
uses: akhileshns/heroku-deploy@v3.12.12
with:
heroku_email: ${{ secrets.HEROKU_EMAIL }} // Heroku email address
heroku_api_key: ${{ secrets.HEROKU_API_KEY }} // Heroku API key
heroku_app_name: ${{ env.HEROKU_APP_NAME }} // Declared above
justlogin: true
- name: Add Heroku remote
run: heroku git:remote --app=${{ env.HEROKU_APP_NAME }}
- name: Push to master branch app on Heroku
run: git push heroku ${{ github.ref_name }}:master --force
访问Github Actions秘密文档,了解秘密在Github动作中是如何工作的,以及如何创建它们。
您可以通过进入您的Heroku帐户设置页面的API Key
部分查看您的Heroku API密钥。