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>
48 lines
1.3 KiB
Docker
48 lines
1.3 KiB
Docker
# 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"]
|