基于 GitHub + Docker + Jenkins 搭建自动化开发环境
在现代软件开发中,CI/CD(持续集成/持续部署)已成为不可或缺的工作流。为了高效地管理和部署应用,开发者需要掌握如何将 GitHub、Docker 和 Jenkins 这三种工具结合起来,搭建一个完整的自动化开发环境。本篇博客将详细介绍如何从零开始,逐步搭建一个基于 GitHub、Docker 和 Jenkins 的开发环境,并通过实际案例展示如何将它们整合成一个高效的开发流水线。
一、GitHub 环境搭建
1. 创建 GitHub 账户
首先,你需要一个 GitHub 账户。如果你还没有 GitHub 账户,可以通过以下步骤创建:
- 访问 GitHub官网。
- 点击右上角的 Sign up 按钮,按照提示创建一个新的 GitHub 账户。
2. 创建 GitHub 仓库
创建好账户后,接下来需要创建一个仓库来存放你的代码。你可以创建一个公共仓库(Public)或私有仓库(Private),具体根据项目需要来选择。
- 登录到 GitHub 账户后,点击右上角的 + 按钮,选择 New repository。
- 填写仓库名称、描述以及选择公开或私有,然后点击 Create repository 创建仓库。
3. 配置 Git 客户端
在本地电脑上使用 Git 提交代码,首先需要安装并配置 Git 客户端。根据你的操作系统选择合适的安装方式:
- Windows:下载并安装 Git for Windows,安装完成后,打开 Git Bash。
- macOS:可以通过 Homebrew 安装 Git:
brew install git。 - Linux:通过包管理器安装 Git,如
sudo apt install git(Ubuntu/Debian)。
安装完成后,打开终端并配置 Git 用户信息:
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
4. 将本地项目推送到 GitHub
创建好仓库后,你可以将本地的代码推送到 GitHub:
- 在本地项目目录下初始化 Git 仓库:
git init
- 添加远程 GitHub 仓库地址:
git remote add origin https://github.com/your-username/your-repository.git
- 将本地代码提交并推送到 GitHub:
git add .
git commit -m "Initial commit"
git push -u origin master
至此,GitHub 环境已经搭建完成,你的代码已经托管在 GitHub 仓库中。
二、Docker 环境搭建
Docker 是一种开源的容器化平台,可以将应用及其依赖打包到一个容器中,从而保证跨平台的一致性。Docker 适用于开发、测试、生产等多个阶段,尤其适合自动化部署。
1. 安装 Docker
- Windows 和 macOS:你可以下载并安装 Docker Desktop 下载地址。
- Linux:根据你使用的发行版,安装 Docker。以 Ubuntu 为例,可以执行以下命令安装:
sudo apt-get update
sudo apt-get install docker.io
安装完成后,可以通过以下命令验证 Docker 是否安装成功:
docker --version
2. 配置 Docker 镜像仓库
Docker 镜像通常存储在 Docker Hub 上,但你也可以选择使用私有镜像仓库(例如阿里云、Google Container Registry)。如果你想使用 Docker Hub,可以使用以下命令登录:
docker login
3. 创建 Dockerfile
为了容器化你的应用,首先需要创建一个 Dockerfile。以下是一个简单的 Python 应用的 Dockerfile 示例:
# 使用官方 Python 3.11 镜像
FROM python:3.11-slim
# 设置工作目录
WORKDIR /app
# 将应用代码复制到容器中
COPY . /app/
# 安装依赖
RUN pip install -r requirements.txt
# 暴露容器端口
EXPOSE 8000
# 启动应用
CMD ["python", "app.py"]
这个 Dockerfile 会执行以下操作:
- 使用官方的 Python 3.11 镜像。
- 设置工作目录为
/app。 - 将项目代码复制到容器内。
- 安装
requirements.txt中列出的依赖。 - 暴露容器的 8000 端口。
- 最后运行 Python 应用。
4. 构建和运行 Docker 镜像
构建 Docker 镜像并运行容器:
# 构建 Docker 镜像
docker build -t myapp .
# 运行容器
docker run -d -p 8000:8000 myapp
此时,Docker 容器已经在后台运行,且将本地的 8000 端口映射到容器内的 8000 端口。
三、Jenkins 环境搭建
Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续部署(CD)。它通过集成各种插件,使得构建、测试和部署流程得以自动化。
1. 安装 Jenkins
Jenkins 支持多种操作系统,下面是常见操作系统的安装方式:
- Windows:你可以下载并运行 Jenkins 的 Windows 安装包 下载地址,然后根据安装向导完成安装。
- macOS:通过 Homebrew 安装 Jenkins:
brew install jenkins-lts
- Linux:以 Ubuntu 为例,执行以下命令:
sudo apt update
sudo apt install openjdk-11-jdk
wget -q -O - https://pkg.jenkins.io/keys/jenkins.io.key | sudo tee /etc/apt/trusted.gpg.d/jenkins.asc
sudo sh -c 'wget -q -O /etc/apt/sources.list.d/jenkins.list https://pkg.jenkins.io/debian/jenkins.io.list'
sudo apt update
sudo apt install jenkins
2. 启动 Jenkins
安装完成后,可以通过以下命令启动 Jenkins:
sudo systemctl start jenkins
在浏览器中访问 Jenkins:
http://localhost:8080
第一次访问时,需要输入 解锁密码。你可以通过以下命令找到该密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
3. 安装必备插件
Jenkins 提供了丰富的插件,可以集成各种工具。安装时,建议安装以下插件:
- GitHub Plugin:用于连接 GitHub 仓库。
- Docker Plugin:用于构建和管理 Docker 镜像。
- Pipeline Plugin:用于编写 Jenkins 流水线脚本。
可以通过 Jenkins 的 Manage Jenkins > Manage Plugins 来安装插件。
4. 配置 GitHub 与 Jenkins 集成
- 在 Jenkins 配置中,添加 GitHub 仓库的凭证。
- 创建一个新的 Jenkins 项目,选择 Pipeline 类型。
- 在 Pipeline 脚本中,可以使用 GitHub 上的源代码,或者直接在 Jenkins 中定义流水线脚本来拉取代码、构建镜像并部署。
5. 配置 Webhook 触发 Jenkins 构建
在 GitHub 上配置 Webhook,使每次代码提交或推送时都能触发 Jenkins 构建:
- 在 GitHub 仓库中,进入 Settings > Webhooks。
- 点击 Add webhook,在 Payload URL 中填写 Jenkins 的 Webhook 地址,通常格式为
http://<jenkins-url>/github-webhook/。 - 设置事件触发条件,通常选择 Just the push event。
四、小结
通过上述步骤,你已经成功搭建了一个基于 GitHub、Docker 和 Jenkins 的开发环境。这个环境将帮助你实现持续集成和持续部署,从代码提交到自动化构建、测试和部署,提升团队的开发效率。
在接下来的博客中,我们将深入探讨如何优化流水线,解决常见问题,并让整个 CI/CD 流程更加高效稳定。敬请期待!

被折叠的 条评论
为什么被折叠?



