使用vmware分配三台机:
普通测试环境(镜像仓库和jenkins):192.168.193.101 hostname:jenkins-svn
预发布环境(正式测试环境):192.168.193.102 hostname:test
生产环境:192.168.193.103 hostname:prod
改网卡:vim /etc/sysconfig/network-scripts/ifcfg-ens33
改主机名:hostnamectl set-hostname jenkins-svn;hostname jenkins-svn
1、普通测试环境上搭建好镜像仓库,安装和配置好svn,安装jdk和jenkins,docker-ce和docker-compose也需要安装。可以用jenkins可以使用yum安装,也可以用rpm和war包安装,jdk也可以是用tar.gz或者yum安装,svn直接使用yum安装。
docker-ce需要先更新国内的源(看容器特殊命令)
安装好docker-ce和docker-compose
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
yum install -y docker-ce docker-compose && systemctl start docker && systemctl enable docker
1.1、安装SVN服务
yum -y install subversion
1.2、新建SVN目录
mkdir /var/svn -p
1.3、创建SVN仓库名为repos
svnadmin create /var/svn/repos
1.4、修改repos库内主配置文件(注意配置文件每行顶格不能有空格,否则连接svn时会报错)
vim /var/svn/repos/conf/svnserve.conf
# none设置不允许匿名访问
anon-access = none
# 认证为可写
auth-access = write
# 密码数据库文件为passwd
password-db = passw
# 认证数据库文件为authz
authz-db = authz
1.5、修改passwd文件 添加用户
vim /var/svn/repos/conf/passwd
# 用户管理[users]
# 用户名为test。密码123456。
test = 123456
1.6、修改authz文件 赋值创建用户权限
vim /var/svn/repos/conf/authz
# 创建仓库目录“/”权限
[repos:/]
# 赋值test 读写权限
test = rw
1.7、启动SVN服务
systemctl start/enable svnserve 添加开机启动
注:仓库地址 svn://192.168.193.101/repos
1.8、Jenkins安装yum
先安装jdk yum install -y java
java -version
先导入仓库
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key
下载较慢,直接导入rpm包进行安装,使用预先下载好的jenkins-2.190.3-1.1.noarch.rpm包,在代码和资料附件中。
安装
yum install -y jenkins-2.190.3-1.1.noarch.rpm
systemctl enable jenkins && systemctl start jenkins
netstat -lntp
浏览器访问:http://192.168.193.101:8080
2、测试好镜像仓库,push和pull(看docker私有仓库registry搭建)
docker tag registry:latest 192.168.193.101:5000/registry:v1
docker push 192.168.193.101:5000/registry
curl http://192.168.193.101:5000/v2/_catalog
curl http://192.168.193.101:5000/v2/registry/tags/list
docker pull 192.168.193.101:5000/registry:v1
3、做好svn和Jenkins各项配置,并测试
连接svn测试
jenkins安装好插件
做好系统配置
新建任务
4、预发布环境安装好docker-ce和docker-compose,将代码放置到相应文件夹
测试第1和2步。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
yum install -y docker-ce docker-compose && systemctl start docker && systemctl enable docker
预分布节点:部署测试环境包
4.1、下载测试部署压缩包
目录结构
├── config
# 生产环境配置文件│ ├── prod.html
│ ├── prod.tar.gz
# 测试环境配置文件│ ├── test.html
│ └── test.tar.gz
# 部署LNMP项目├── deploy.sh
# 编排描述内容
├── docker-compose.yml
# 构建镜像├── Dockerfile
│ ├── nginx
│ └── php
# 将容器目录数据库持久化到该目录下├── mysql_data
# 推送镜像到线上使用├── push_images.sh
# 记录部署时的代码版本号├── revision.svn
# 存放项目目录
└── wwwroot
4.2、解压文件,脚本加入执行权限,并查看相关文件信息
# 上传test.zip脚本,解压缩unzip lnmp.zip;cd lnmp
# 将脚本添加执行权限
chmod +x push_images.sh
5、生产环境安装好docker-ce和docker-compose,将代码放置到相应文件夹,测试第3和4步。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
yum install -y docker-ce docker-compose && systemctl start docker && systemctl enable docker
5.1、下载生产部署压缩包
目录结构
├── deploy.sh
├── docker-compose.yml
├── revision.svn
└── roll-back.sh
5.2、解压文件,脚本加入执行权限,并查看想关文件信息
# 解压文件,进入路径下tar -zxvf lnmp.tar.gz
# 加入文件执行权限
chmod +x deploy.sh roll-back.sh
各个环境代码和软件包请看附件资料
参考资料:https://www.cnblogs.com/xiangsikai/p/10057087.html
Docker+Jenkins+Maven+SVN搭建持续集成环境