You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku:通过GitHub自动部署时无Slack通知问题求助

问题解答

这绝对不是正常现象——通过GitHub自动部署到Heroku时,完全可以配置Slack通知,咱们一步步来搞定:

方法1:检查并配置Heroku官方Slack集成

如果你之前是用Heroku的Slack插件(heroku addons:create slack)实现CLI部署通知的,大概率是这个集成默认只监听CLI发起的部署事件,没覆盖GitHub自动部署的场景。你可以这样调整:

  • 打开Heroku控制台,进入你的应用,找到「Installed add-ons」里的Slack插件
  • 进入Slack插件的配置页面,在「Event Triggers」里,确保勾选了**「Deploy succeeded」和「Deploy failed」**这两个事件(不管部署发起来源是CLI还是GitHub自动部署,这两个事件都会触发)
  • 保存配置后,下次GitHub自动部署时,Slack就应该收到通知了

方法2:用GitHub Actions实现部署+通知(更灵活可控)

如果官方集成不好使,或者你想自定义通知内容,推荐用GitHub Actions接管部署和通知流程,步骤如下:

  1. 在你的GitHub仓库根目录创建.github/workflows/deploy.yml文件
  2. 写入以下配置(记得替换成你的Heroku应用名、Slack webhook URL和Heroku API密钥):
name: Deploy to Heroku & Notify Slack
on:
  push:
    branches: [ master ] # 只在master分支推送时触发

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      # 部署到Heroku
      - name: Deploy to Heroku
        uses: akhileshns/heroku-deploy@v3.12.12
        with:
          heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
          heroku_app_name: "你的Heroku应用名"
          heroku_email: "你的Heroku注册邮箱"
          
      # 发送Slack成功通知
      - name: Notify Slack on success
        if: success()
        uses: slackapi/slack-github-action@v1.24.0
        with:
          slack-message: "✅ 代码已成功自动部署到Heroku!分支: master,提交哈希: ${{ github.sha }}"
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          
      # 发送Slack失败通知
      - name: Notify Slack on failure
        if: failure()
        uses: slackapi/slack-github-action@v1.24.0
        with:
          slack-message: "❌ Heroku自动部署失败!分支: master,提交哈希: ${{ github.sha }},请检查GitHub Actions日志"
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  1. 在GitHub仓库的「Settings」→「Secrets and variables」→「Actions」里,添加三个密钥:
    • HEROKU_API_KEY:从Heroku账户设置里生成的API密钥
    • HEROKU_APP_NAME:你的Heroku应用名称
    • SLACK_WEBHOOK_URL:从Slack工作区创建的Incoming Webhook URL
  2. 保存后,下次合并代码到master分支,GitHub Actions就会自动部署到Heroku,并把结果通知到Slack

额外提示

  • 如果你之前是用CLI脚本里手动加的Slack通知(比如部署后调用curl发请求),那这种方式只在CLI部署时生效,GitHub自动部署不会执行这个脚本,所以需要换成上面的两种方法之一
  • 可以根据团队需求自定义Slack通知的内容,比如加上提交信息、部署者名字等,让通知更实用

内容的提问来源于stack exchange,提问作者Dana Scheider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:18:15