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 工作流將在每次推送代碼到倉庫時自動運行測試。