当前位置:首页 > Ubuntu > 正文

Ubuntu容器CI/CD管道(从零开始构建自动化部署流程)

在现代软件开发中,CI/CD管道(持续集成/持续部署)已成为提升开发效率、保障代码质量的重要工具。而使用 Ubuntu容器 作为构建和部署环境,不仅轻量高效,还能确保开发、测试与生产环境的一致性。本文将手把手教你如何搭建一个基于 Docker Ubuntu 的完整 自动化部署 流程,即使你是初学者也能轻松上手!

Ubuntu容器CI/CD管道(从零开始构建自动化部署流程) Ubuntu容器  CI/CD管道 Docker Ubuntu 自动化部署 第1张

什么是CI/CD?

CI(Continuous Integration,持续集成)是指开发者频繁地将代码合并到主干,并通过自动化测试验证其正确性。CD(Continuous Deployment/Delivery,持续部署/交付)则是在代码通过测试后,自动将其部署到测试或生产环境。整个流程可大幅减少人为错误,加速产品迭代。

为什么选择Ubuntu容器?

Ubuntu容器 基于官方Ubuntu镜像,具有社区支持广泛、软件包丰富、文档齐全等优势。同时,Docker容器的隔离性和可移植性使得你的CI/CD流程可以在任何支持Docker的平台上运行,实现“一次构建,处处运行”。

准备工作

你需要:

  • 一台安装了 Docker 的 Linux / macOS / Windows 机器
  • 一个 GitHub 账号(或其他代码托管平台)
  • 基础的命令行操作知识

步骤一:创建一个简单的Python Web应用

我们以一个Flask应用为例:

# app.pyfrom flask import Flaskapp = Flask(__name__)@app.route('/')def hello():    return "Hello from Ubuntu CI/CD Pipeline!"if __name__ == '__main__':    app.run(host='0.0.0.0', port=5000)

同时创建 requirements.txt 文件:

Flask==2.3.2

步骤二:编写Dockerfile

在项目根目录创建 Dockerfile,使用官方Ubuntu镜像构建容器:

# 使用官方Ubuntu 22.04作为基础镜像FROM ubuntu:22.04# 设置非交互式安装,避免弹窗ENV DEBIAN_FRONTEND=noninteractive# 安装Python3、pip和必要的依赖RUN apt-get update && \    apt-get install -y python3 python3-pip && \    rm -rf /var/lib/apt/lists/*# 设置工作目录WORKDIR /app# 复制依赖文件并安装COPY requirements.txt .RUN pip3 install --no-cache-dir -r requirements.txt# 复制应用代码COPY . .# 暴露端口EXPOSE 5000# 启动应用CMD ["python3", "app.py"]

步骤三:本地测试容器

在终端执行以下命令构建并运行容器:

docker build -t my-ubuntu-app .docker run -d -p 5000:5000 my-ubuntu-app

访问 http://localhost:5000,如果看到 “Hello from Ubuntu CI/CD Pipeline!”,说明容器运行成功!

步骤四:配置GitHub Actions实现CI/CD

在项目中创建 .github/workflows/ci-cd.yml 文件:

name: Ubuntu CI/CD Pipelineon:  push:    branches: [ main ]jobs:  build-and-deploy:    runs-on: ubuntu-latest    steps:      - name: Checkout code        uses: actions/checkout@v3      - name: Set up Docker Buildx        uses: docker/setup-buildx-action@v2      - name: Build and push Docker image        run: |          docker build -t my-ubuntu-app .          echo "✅ 构建成功!"      - name: Run tests (optional)        run: |          echo "🧪 此处可添加自动化测试命令"      - name: Deploy to server (example)        run: |          echo "🚀 部署逻辑(如scp、kubectl、ssh等)"

每次你向 main 分支推送代码,GitHub Actions 就会自动触发这个工作流,完成构建、测试和部署。这就是 自动化部署 的核心!

进阶建议

  • 将Docker镜像推送到 Docker Hub 或私有仓库
  • 在真实服务器上使用 docker-compose 管理服务
  • 添加单元测试和代码覆盖率检查
  • 使用 secrets 管理敏感信息(如API密钥)

总结

通过本文,你已经掌握了如何使用 Ubuntu容器 搭建一个完整的 CI/CD管道。从编写应用、构建Docker镜像,到配置GitHub Actions实现 自动化部署,每一步都清晰明了。未来你可以在此基础上扩展更多功能,打造属于自己的高效开发流水线!

关键词回顾:Ubuntu容器CI/CD管道Docker Ubuntu自动化部署