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

如何编写GitHub Actions的workflows.yaml以基于Procfile用Buildpacks构建镜像?

GitHub Actions 构建配置(基于Buildpacks)

下面是适配你需求的GitHub Actions工作流配置,完全替代之前在Cloud Shell里的pack build操作:

name: Build App Image with Buildpacks

# 触发条件:推送到main分支或提交PR到main分支时执行
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build-image:
    runs-on: ubuntu-latest
    steps:
      # 拉取当前仓库代码,对应你之前的git pull操作
      - name: Checkout repository
        uses: actions/checkout@v4

      # 安装Buildpacks的pack CLI工具
      - name: Setup Pack CLI
        uses: buildpacks/github-actions/setup-pack@v5

      # 执行镜像构建命令,和你在Cloud Shell里的命令完全一致
      - name: Build Docker image with Buildpacks
        run: |
          pack build my-app-image \
            --builder gcr.io/buildpacks/builder:v1 \
            --path .

      # ------------------- 可选:推送镜像到GCR -------------------
      # 如果需要把构建好的镜像推送到Google容器仓库,添加以下步骤
      - name: Authenticate to Google Cloud
        uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}

      - name: Configure Docker for GCR
        run: |
          gcloud auth configure-docker gcr.io

      - name: Tag and push image to GCR
        run: |
          # 用commit SHA作为标签,避免镜像被覆盖
          docker tag my-app-image gcr.io/${{ secrets.GCP_PROJECT_ID }}/my-app-image:${{ github.sha }}
          docker push gcr.io/${{ secrets.GCP_PROJECT_ID }}/my-app-image:${{ github.sha }}

关键说明:

  1. 触发规则:默认在main分支有代码推送或PR时触发,你可以根据自己的分支名修改branches字段。
  2. 环境依赖:用ubuntu-latest作为运行环境,确保pack CLI能正常工作。
  3. 代码检出:actions/checkout@v4会自动拉取当前仓库的代码,对应你之前手动git pull的操作。
  4. 镜像构建:完全复用你之前的pack build命令,pack会自动识别根目录下的Procfile,无需额外配置启动命令。
  5. 可选推送:如果要推送到GCR,需要在GitHub仓库的「Settings → Secrets and variables → Actions」里添加两个密钥:
    • GCP_SERVICE_ACCOUNT_KEY:GCP服务账号的JSON密钥内容
    • GCP_PROJECT_ID:你的GCP项目ID

内容的提问来源于stack exchange,提问作者Muhammad Ikhwan Perwira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:47:17