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

如何确保GitHub Actions生成的requirements.txt部署至Google Cloud Function?

解决GitHub Actions部署Google Cloud Function的依赖问题

一、修复requirements.txt的依赖生成问题

1. 正确导出Pipenv依赖

默认pipenv requirements只会输出PyPI源配置,必须指定导出生产环境依赖:

pipenv requirements --without-dev > requirements.txt

如果你的项目依赖都标记为开发包(不推荐),用这条命令:

pipenv requirements > requirements.txt

2. 验证导出结果

生成文件后加一步校验,避免空依赖文件流入部署环节:

# 打印文件内容确认
cat requirements.txt
# 或者直接检查目标依赖是否存在
grep -q "aiohttp" requirements.txt || (echo "ERROR: aiohttp未出现在requirements.txt中" && exit 1)

二、确保requirements.txt被正确部署

1. 明确部署命令的工作目录

使用gcloud functions deploy时,必须通过--source参数指定包含requirements.txt和代码的目录(通常是当前根目录):

gcloud functions deploy 你的函数名 \
  --runtime python311 \
  --trigger-http \
  --source . \
  --entry-point 你的入口函数名

2. 检查忽略文件配置

确认项目根目录的.gitignore和.gcloudignore里没有requirements.txt条目,否则部署时会被过滤掉。

三、完整优化后的GitHub Actions工作流示例

name: 部署到Google Cloud Function
on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4

      - name: 配置Python环境
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: 安装Pipenv
        run: |
          python -m pip install --upgrade pip
          pip install pipenv

      - name: 生成requirements.txt
        run: pipenv requirements --without-dev > requirements.txt

      - name: 验证依赖文件
        run: |
          if ! grep -q "aiohttp" requirements.txt; then
            echo "aiohttp未出现在依赖文件中,终止部署"
            exit 1
          fi

      - name: 谷歌云认证
        uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GCP_SA_KEY }}

      - name: 部署云函数
        run: |
          gcloud functions deploy 你的函数名 \
            --runtime python311 \
            --trigger-http \
            --source . \
            --entry-point 你的入口函数名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:31:00