Docker build 本身主要用于构建 Docker 镜像,它并不直接支持自动化测试。然而,你可以在 Docker 容器中运行测试,然后使用 CI/CD(持续集成/持续部署)工具来自动化整个测试过程。
以下是一个简单的示例,说明如何在 Docker 容器中运行测试:
Dockerfile
的文件,内容如下:FROM python:3.8-slim
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "manage.py", "test"]
这个 Dockerfile 使用 Python 3.8 作为基础镜像,将你的应用程序代码复制到容器中,并安装依赖项。最后,它运行你的测试命令。
docker build
构建 Docker 镜像:docker build -t my-app .
docker run
在容器中运行测试:docker run --rm my-app
这将运行你的测试并删除容器。
.github/workflows/ci.yml
文件中添加以下内容:name: CI
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: user/my-app:latest
- name: Run tests in Docker container
run: docker run --rm my-app
这个 GitHub Actions 工作流将在每次推送代码到仓库时自动运行测试。