Jenkins + Docker 实现一键自动化部署项目
环境要求:CentOS 7 + Git (Gitee)
实现步骤概述:在 Docker 中安装 Jenkins,配置基本信息,利用 Dockerfile 和 Shell 脚本实现项目的自动拉取、打包和运行。
安装 Docker
- 更新 yum 包:
yum update
- 卸载旧版本(如果存在):
yum remove docker docker-common docker-selinux docker-engine
- 安装所需软件包:
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置 yum 源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装 Docker:
yum install docker-ce
- 启动 Docker 并设置开机自启:
systemctl start docker systemctl enable docker
- 验证安装:
docker version
安装 Jenkins
- 使用 Docker 安装 Jenkins:
docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
- 访问 Jenkins:打开浏览器,访问
http://{Jenkins服务器IP}:8080
,并等待几分钟。
初始化 Jenkins
- 安装Jenkins
docker pull jenkins/jenkins:<version>-<jdk>
- 解锁 Jenkins:
docker exec -it jenkins bash 查看密码: cat /var/lib/jenkins/secrets/initialAdminPassword
3. 安装推荐插件和创建管理员用户。
配置 Maven
- 进入系统管理,安装所需插件,如 Maven Integration 和 Gitee 插件。
创建构建任务
-
新建任务,选择“自由风格的软件项目”。
-
源码管理:输入 Gitee 仓库地址并添加凭证。
- 构建触发器:设置构建步骤,填写 Maven 命令(如
clean install -Dmaven.test.skip=true
)。
4. 保存设置。
测试与运行项目
- 构建任务,查看控制台输出确认是否成功打包。
- 查看项目位置:
cd /var/jenkins_home/workspace
- Dockerfile 示例:
FROM jdk:8 VOLUME /tmp ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8888 ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prd"]
- 修改 Jenkins 任务配置,确保镜像构建和运行命令正确。
-t:指定新镜像名
.:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest
上图用了docker logs -f 是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败
验证
- 查看 Docker 容器状态:
docker ps
- 检查日志:
docker logs {容器名}
- 通过浏览器访问项目。
这就是在 Jenkins 和 Docker 上实现项目自动化部署的完整步骤!
评论区