Dify集成GitHub Actions实现CI/CD自动化部署

小静小哥_1469

小静小哥_1469

2026-11-02

125人浏览

原创

Dify插件可通过GitHub Actions实现自动构建、测试与部署。需配置GitHub仓库、Dockerfile、dify.yaml,设置DIFY_API_KEY等4项Secrets,并编写cd-dify-plugin.yml工作流,完成镜像构建、远程部署及容器启动验证。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

dify集成github actions实现ci/cd自动化部署

你需要让Dify插件或服务在每次代码提交后自动构建、测试并部署到目标环境,避免手动上传、反复验证、环境不一致导致的线上故障。

准备GitHub仓库与Dify项目结构

确保你的Dify插件或后端服务代码已托管在GitHub公有或私有仓库中,根目录下存在明确的 Dockerfile 和 dify.yaml(或 docker-compose.yml 中定义了 Dify 服务依赖)。

若使用 Dify Cloud 自托管版本,确认 .env 文件中已剥离敏感配置(如 SECRET_KEY、DATABASE_URL),改用 GitHub Secrets 注入;【本地 .env 文件绝不可提交到仓库】。

在仓库根目录创建 .github/workflows/ 文件夹,这是 GitHub Actions 工作流的强制存放路径。

配置GitHub Secrets密钥

进入 GitHub 仓库 → Settings → Secrets and variables → Actions → New repository secret。

依次添加以下 4 项(名称必须完全一致,大小写敏感):

• DIFY_API_KEY:用于调用 Dify Admin API 的管理员密钥(需在 Dify 后台「系统设置 → API 密钥」生成)

• DIFY_BASE_URL:Dify 自托管服务的完整访问地址,含协议和端口,例如 https://dify.yourdomain.com

• SSH_PRIVATE_KEY:用于远程登录部署服务器的 PEM 格式私钥(需去除密码,可用 ssh-keygen -p -f key.pem 清空密码)

智能 Git 操作助手
智能 Git 操作助手

>-智能 Git 操作助手:安全提交、合并分支、检测冲突并提供处理建议、生成可视化报告。

下载

• SERVER_HOST:目标服务器 IP 或域名,例如 192.168.1.100

编写CI/CD工作流YAML文件

在 .github/workflows/cd-dify-plugin.yml 中粘贴以下内容:

name: Deploy Dify Plugin
on:
  push:
    branches: [main]
  workflow_dispatch:
    inputs:
      env:
        description: 'Target environment (staging/prod)'
        required: true
        default: 'staging'
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v4
    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v3
    - name: Login to Docker Hub
      uses: docker/login-action@v3
      with:
        username: ${{ secrets.DOCKER_USERNAME }}
        password: ${{ secrets.DOCKER_TOKEN }}
    - name: Build and push plugin image
      uses: docker/build-push-action@v5
      with:
        context: .
        file: ./Dockerfile
        push: true
        tags: ${{ secrets.DOCKER_USERNAME }}/dify-plugin:${{ github.sha }}
    - name: Deploy to server via SSH
      uses: appleboy/scp-action@v0.1.7
      with:
        host: ${{ secrets.SERVER_HOST }}
        username: root
        key: ${{ secrets.SSH_PRIVATE_KEY }}
        source: "docker-compose.yml"
        target: "/root/dify-deploy/"
    - name: Run remote deploy script
      uses: appleboy/ssh-action@v0.2.0
      with:
        host: ${{ secrets.SERVER_HOST }}
        username: root
        key: ${{ secrets.SSH_PRIVATE_KEY }}
        script: |
          cd /root/dify-deploy
          export PLUGIN_IMAGE=${{ secrets.DOCKER_USERNAME }}/dify-plugin:${{ github.sha }}
          docker-compose down
          docker-compose up -d --force-recreate

验证部署是否生效

推送一次空提交触发流水线:git commit --allow-empty -m "trigger deploy" → git push。

进入 GitHub 仓库 → Actions 标签页,点击刚触发的 workflow 名称,观察各步骤绿色对勾是否全部出现。

登录目标服务器,执行 docker ps | grep dify-plugin,确认容器状态为 Up 且端口映射正常。

打开浏览器,访问 Dify 管理后台 → 「插件中心」→ 查看该插件是否显示为「已启用」且版本号与本次 github.sha 一致。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

dify git github

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

2026.06.05

897

15

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

2026.06.05

265

15

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

2026.06.05

256

15

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

120

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

280

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 156人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 157人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习