Files
agent_management/agent_templates/agents/code_ai_agent/Dockerfile
T
elipitcandClaude Sonnet 4.6 192e8a95bf feat: add CI/CD workflow capabilities to code_ai_agent
Add Git, SSH, and K8s deploy tools enabling code_ai_agent to act as
an autonomous DevOps worker for the agent-manager project:
- tools/workspace.py: isolated /workspace/{task_id} per task
- tools/git_tools.py: clone, branch, status, write-file, commit-push
- tools/ssh_tools.py: SSH exec via paramiko (Azure VM support)
- tools/deploy_tools.py: K8s rollout restart/status via kubectl
- api_server.py: new routes /api/v1/git/*, /api/v1/ssh/*, /api/v1/deploy/k8s
- Dockerfile: add git, openssh-client, sshpass; pip install paramiko gitpython kubernetes
- requirements.txt: add paramiko, gitpython, kubernetes

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 19:44:08 +08:00

48 lines
1.3 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dockerfile for 代码助手 Agent 服务
FROM python:3.12-slim
# 设置工作目录
WORKDIR /app
# 设置环境变量
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
# 安装系统依赖(含 git、ssh)
RUN apt-get update && apt-get install -y \
gcc \
git \
openssh-client \
sshpass \
curl \
&& rm -rf /var/lib/apt/lists/*
# 复制依赖文件
COPY agent_templates/agents/code_ai_agent/requirements.txt .
# 安装 Python 依赖
RUN pip install --no-cache-dir -r requirements.txt requests paramiko gitpython
# 复制应用代码
COPY agent_templates/agents/code_ai_agent/ /app/
COPY agent_templates/common/agent_callback_utils.py /app/common/
RUN touch /app/common/__init__.py
# 创建项目存储目录和工作空间
RUN mkdir -p /tmp/projects /workspace
# 配置 git 全局设置
RUN git config --global user.email "code-ai-agent@taijiagnet.com" \
&& git config --global user.name "Code AI Agent" \
&& git config --global credential.helper store
# 暴露端口
EXPOSE 8000 8001
# 健康检查(默认检查8000端口,MCP服务会覆盖)
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD curl -f http://localhost:8000/health || exit 1
# 启动命令(默认启动API服务器,可通过command覆盖)
CMD ["python", "run_api_server.py"]