第四阶段:发布代码到测试环境并构建镜像
实战内容分为阶段:
第一阶段:cicd的介绍,环境准备,dockers安装及代码仓库的建立(这里用的是svn)
第二阶段:LNMP基础镜像构建,及harbor镜像仓库的部署
第三阶段:jenkins部署及配置
第四阶段:发布代码到测试环境并构建镜像,部署wordpress测试网站
第五阶段:提交测试成功镜像到harbor镜像仓库
第六阶段:发布wordpress到生产环境
第七阶段:发布wordpress新代码到生产环境之后进行回滚
1、在测试服务器上传所需文件
1.1、创建测试服务器工作目,上传test.zip压缩包到工作目录并解压
mkdir /date
tar zxf test.tar.gz && cd lnmp/ && ls
1.2、查看jenkins用到deploy脚本,构建镜像,启动docker容器
cat deploy.sh
#!/bin/bashREVISION=$1WORK_ENV=testecho $REVISION >./revision.svncd Dockerfilesudo docker build --build-arg work_env=$WORK_ENV -t reg.yunwei.com/lnmp/nginx:latest -f nginx ../sudo docker build --build-arg work_env=$WORK_ENV -t reg.yunwei.com/lnmp/php:latest -f php ../docker-compose downdocker-compose up -d
cat docker-compose.yml
version: '3'services: nginx: image: reg.yunwei.com/lnmp/nginx:latest ports: - 80:80 links: - php:php-cgi depends_on: - php - mysql php: image: reg.yunwei.com/lnmp/php:latest links: - mysql:mysql-db mysql: image: reg.yunwei.com/library/mariadb:latest ports: - 3306:3306 volumes: - ./mysql_data:/var/lib/mysql command: --character-set-server=utf8 environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress MYSQL_USER: user MYSQL_PASSWORD: user123
cat Dockerfile/nginx
FROM reg.yunwei.com/library/nginx:latestMAINTAINER zhaoningARG work_envADD wwwroot /usr/local/nginx/htmlADD config/${work_env}.tar.gz /usr/local/nginx/htmlexpose 80
cat Dockerfile/php
FROM reg.yunwei.com/library/php:latestMAINTAINER zhaoningARG work_envADD wwwroot /usr/local/nginx/htmlADD config/${work_env}.tar.gz /usr/local/nginx/htmlexpose 9000
2、配置jenkins构建任务
2.1、新建任务
2.2、配置代码服务器地址
2.3、配置测试服务器的脚本
2.4、执行发布测试版构建任务
2.5、登陆web服务器查看构建网站的测试页面
3、windows客户端提交wordpress代码
3.1、将wordpress代码压缩包解压:
3.2、把代码剪切到repos的目录
3.3、提交代码
4、构建wordpress测试网站
4.1、点击build now按钮立即构建
4.2、重新登陆wordpress网站
4.3、登陆wordpress网站
4.4、在代码仓库中新建一个文件,将以上内容粘贴进去
4.5、再次提交代码仓库
4.6、重新构建