Argo CD GitOps自动化部署工具

一个基于Argo CD的GitOps自动化部署工具,支持单仓库管理应用代码和Kubernetes清单,通过GitHub Actions构建服务并推送镜像到GHCR,实现持续部署。

  • by eknathdj
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 eknathdj/argocd-mcp-gitops

使用说明

Argo CD+GHCR+MCP的单一回购示例应用程序

此repo演示了:

  • 单一回购 应用程序代码+k8s清单(kustomize)
  • GitHub Actions构建更改后的服务并将图像推送到 GHCR
  • 工作流更新中的图像标签 这个仓库Argo CD同步
  • Argo CD Application 指向 deploy/overlays/prod
  • Argo CD的可选MCP服务器(在IDE中使用)

快速开始

  1. 替换占位符

    • 在 argocd/application.yaml,更改 https://github.com/eknathdj/argocd-mcdp-gitops.git 到您的repo URL。
  2. 推送到GitHub (分支 main).

  3. 确保GHCR正常工作
    默认情况下,工作流通过以下方式登录GHCR ${{ secrets.GITHUB_TOKEN }} 这通常就足够了。如果您的组织需要PAT,请创建 GHCR_TOKEN 随着 packages:write 范围并更改登录步骤。

  4. 安装Argo CD 在您的集群上(如果还没有)。

  5. 应用Argo CD应用程序

    kubectl apply -n argocd -f argocd/application.yaml
    
  6. 触发工作流 通过在以下情况下进行更改 services/*. Argo CD将开始播放 deploy/overlays/prod 并部署到命名空间 app.

  7. 访问应用程序 在 http://app.127.0.0.1.nip.io (入口等级: nginx).

Dev和Prod覆盖

  • deploy/overlays/dev 设置主机 app.dev.127.0.0.1.nip.io
  • deploy/overlays/prod 设置主机 app.127.0.0.1.nip.io

Argo CD的MCP(可选)

创建 .vscode/mcp.json (或光标等效物):

{
  "servers": {
    "argocd-mcp-stdio": {
      "type": "stdio",
      "command": "npx",
      "args": ["argocd-mcp@latest", "stdio"],
      "env": {
        "ARGOCD_BASE_URL": "https://your-argocd.example.com",
        "ARGOCD_API_TOKEN": "REDACTED"
      }
    }
  }
}

添加新服务

  1. 创建 services/<name>/Dockerfile 和代码。
  2. 在中添加部署/服务 deploy/base 并将图像包含在 deploy/base/kustomization.yaml.
  3. 提交——CI将在以下情况下发生更改时构建它 services/<name>/.