# 在 GitHub Actions 中运行 Ollama：让 CI/CD 流水线拥有本地大模型能力

> ollama-action 是一个开源 GitHub Action，允许开发者在 CI/CD 流水线中直接调用 Ollama 运行 Llama 3.2、TinyLlama 等大语言模型，实现自动化代码审查、PR 标题生成、文档翻译等场景。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-23T22:42:44.000Z
- 最近活动: 2026-04-23T22:51:06.308Z
- 热度: 157.9
- 关键词: GitHub Actions, Ollama, LLM, CI/CD, 开源模型, 自动化, Llama 3.2
- 页面链接: https://www.zingnex.cn/forum/thread/github-actions-ollama-ci-cd
- Canonical: https://www.zingnex.cn/forum/thread/github-actions-ollama-ci-cd
- Markdown 来源: ingested_event

---

## 背景：CI/CD 与大模型的结合

随着大语言模型（LLM）技术的成熟，越来越多的开发团队开始探索如何将 AI 能力集成到日常开发流程中。传统的做法通常是调用 OpenAI、Claude 等云端 API，但这带来了成本、隐私和延迟等问题。而 Ollama 作为本地运行大模型的优秀工具，让开发者可以在自己的机器上免费运行 Llama、Mistral 等开源模型。

然而，将本地模型能力扩展到 CI/CD 流水线一直是个挑战。ollama-action 这个开源项目正是为了解决这一问题而生，它让 GitHub Actions 可以直接在流水线中运行 Ollama 模型，无需外部 API 依赖。

## 项目概述

ollama-action 由 ai-action 组织维护，是一个专门用于 GitHub Actions 的官方集成工具。它的核心功能非常简单：在 GitHub 托管的运行器（runner）上安装并运行 Ollama，然后执行指定的模型推理任务。

这个项目的设计理念是保持简洁和通用性。它不强制使用特定模型，也不限定特定用途，而是提供一个基础能力层，让开发者根据自己的需求灵活组合。无论是想自动生成 PR 描述、进行代码风格检查，还是实现文档翻译，都可以通过简单的配置实现。

## 核心机制与配置

### 基本工作流配置

使用 ollama-action 最基础的配置只需要指定模型名称和提示词：

```yaml
jobs:
  ollama:
    runs-on: ubuntu-latest
    steps:
      - name: Run model
        uses: ai-action/ollama-action@v2
        id: model
        with:
          model: llama3.2
          prompt: Explain the basics of machine learning.

      - name: Print response
        run: echo "$response"
        env:
          response: ${{ steps.model.outputs.response }}
```

这个工作流会在每次代码推送时触发，使用 Llama 3.2 模型回答关于机器学习基础的问题，并将结果输出到日志中。

### 支持的模型与版本控制

ollama-action 支持 Ollama 官方库中的所有模型，包括但不限于：

- **Llama 3.2**：Meta 最新发布的轻量级模型，适合快速推理
- **TinyLlama**：体积小巧但性能不俗的模型，适合资源受限场景
- **Mistral、DeepSeek、Qwen** 等主流开源模型

此外，项目还支持指定 Ollama 本身的版本号，确保环境的一致性：

```yaml
with:
  model: llama3.2
  prompt: Tell me a joke.
  version: 0.15.0
```

### 模型缓存机制

考虑到大模型文件的体积，ollama-action 默认启用了模型缓存功能。这意味着在同一个工作流中多次调用时，模型不需要重复下载，显著提升了执行效率。如果确实需要强制重新下载，也可以通过设置 `cache: false` 来禁用缓存。

### 多行提示词支持

对于复杂的提示场景，项目支持 YAML 的多行字符串语法：

```yaml
with:
  prompt: |
    Analyze the following code changes
    and suggest improvements for readability
    and performance.
```

这种设计让开发者可以编写结构化的复杂提示，而不必担心换行符的处理问题。

## 实际应用场景

### 自动化 PR 标题生成

社区开发者 Jacob Tomlinson 分享了一个实用案例：利用 ollama-action 自动生成有意义的 PR 标题。在自动化依赖升级的场景中，PR 标题往往只是简单的版本号变更，缺乏上下文信息。通过让 LLM 分析代码变更，可以生成更具描述性的标题，帮助 reviewer 快速理解改动内容。

### CI/CD 中的代码审查

另一个有潜力的应用场景是在持续集成流程中嵌入轻量级代码审查。虽然不能完全替代人工 review，但 LLM 可以快速标记潜在问题，如明显的性能隐患、安全漏洞模式或代码风格不一致等，为人工审查提供初步筛选。

### 文档翻译与生成

对于维护多语言文档的项目，可以在推送时自动触发文档翻译工作流。利用本地模型的隐私优势，敏感的技术文档无需发送到外部 API 即可完成翻译。

## 技术实现细节

ollama-action 的实现基于 GitHub Actions 的复合动作（composite action）机制。它在后台调用同组织的 setup-ollama 动作来完成 Ollama 运行时的安装，然后执行模型推理并将结果通过 GitHub Actions 的输出变量机制传递给后续步骤。

值得注意的是，项目在处理模型输出时特别关注了换行符的保留问题。在 shell 环境中，环境变量的值如果包含换行符，需要用双引号包裹才能正确传递。这个细节在文档中被特别强调，体现了项目对实际使用场景的深入考虑。

## 开源生态与许可

ollama-action 采用 MIT 许可证发布，这意味着它可以自由用于商业和个人项目。项目托管在 GitHub 上，接受社区贡献，并配有完整的测试工作流确保质量。

作为 ai-action 生态系统的一部分，这个项目与 setup-ollama 等配套工具协同工作，形成了一个围绕 Ollama 的 GitHub Actions 工具链。对于希望在 CI/CD 中集成 AI 能力的团队来说，这是一个低门槛、高灵活度的选择。

## 总结与展望

ollama-action 代表了一种趋势：将大模型能力从云端 API 下沉到本地基础设施，让开发者对自己的 AI 流水线拥有完全的控制权。对于注重数据隐私、成本控制或网络延迟的团队来说，这种模式具有显著优势。

随着开源模型质量的持续提升和硬件成本的下降，我们可以预见会有更多类似的工具出现，让 AI 能力真正成为每个开发团队的基础设施标配，而不是外部依赖的黑盒服务。
