Docker+Jenkins+Maven+SVN搭建持续集成环境

Docker+Jenkins+Maven+SVN搭建持续集成环境

环境拓扑图(实验项目使用PHP环境)

发布流程图


环境说明

  • 系统:Centos 7.4 x64
  • Docker版本:18.09.0
  • Maven版本:3.6
  • Tomcat版本:8
  • JDK版本:1.8
  • Jenkins版本:2.7
  • SVN版本:1.7.14
  • 管理节点Jenkins/SVN:192.168.1.79
  • 测试节点:192.168.1.78
  • 生产节点:192.168.1.77

应用环境部署

1、管理节点:SVN安装配置及简单使用

1.1、安装SVN服务

yum -y install subversion 

1.2、创建SVN目录

mkdir /home/svn 

1.3、创建SVN仓库名为repos

svnadmin create /home/svn/repos 

1.4、修改repos库内主配置文件

vi /home/svn/repos/conf/svnserve.conf

# none设置不允许匿名访问
anon-access = none
# 认证为可写
auth-access = write
# 密码数据库文件为passwd
password-db = passw
# 认证数据库文件为authz
authz-db = authz 

1.5、修改passwd文件 添加用户

vi /home/svn/repos/conf/passwd

# 用户管理
[users]
# 用户名为test。密码123456。
test = 123456 

1.6、修改authz文件 赋值创建用户权限

vi /home/svn/repos/conf/authz

# 创建仓库目录“/”权限
[repos:/]
# 赋值test 读写权限
test = rw 

1.7、启动SVN服务

svnserve -d -r /home/svn

注:仓库地址 svn://192.168.1.79/repos

2、客户端:连接SVN创建文件

2.1、 windos 连接SVN 输入密码

2.2 repos 文件夹下创建index.html

2.3、文件已html后缀的网页文件

index.html文件内容:<h1>repos</h2>

2.3、提交代码

3、部署Docker镜像仓库

注:保证所有节点都提前安装好Docker应用

3.1、管理节点:下载安装镜像仓库

docker run -d \
-v /opt/registry:/var/lib/registry \
-p 5000:5000 \
--restart=always \
--name registry \
registry
命令:docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dba32d8c784d registry "/entrypoint.sh /etc…" 4 minutes ago Up 4 minutes 0.0.0.0:5000->5000/tcp registry
查看资源:映射宿主级端口到容器端口

3.2、管理节点:在部署节点配置Docker可信任私有仓库:

vi /etc/docker/daemon.json

{"registry-mirrors": ["http://04be47cf.m.daocloud.io"],"insecure-registries":["192.168.1.79:5000"]}
命令:curl http://192.168.1.79:5000/v2/_catalog

{"repositories":[]}
查看当前仓库长传镜像  
命令:curl http://192.168.1.79:5000/v2/lnmp-nginx/tags/list

{"name":"lnmp-nginx","tags":["base"]}
查看指定镜像tags版本

3.3、测试节点:整理Dockerfile(提前整理好的LNMP环境包)

Dockerfile-lnmp/
├── nginx
│   ├── Dockerfile
│   ├── nginx-1.12.1.tar.gz
│   └── nginx.conf
└── php
    ├── Dockerfile
    ├── php-5.6.31.tar.gz
    └── php.ini
  • LNMP包下载地址:https://pan.baidu.com/s/1SHR6WDMXKvPlXOB1J0y5tg
  • 密码:ze4f

3.4、测试节点:构建LNMP环境

# 解压包,进入nginx目录
unzip Dockerfile-lnmp.zip;cd Dockerfile-lnmp/nginx/
# 构建nginx镜像容器
docker build -t 192.168.1.79:5000/lnmp-nginx:base .
# 进入php目录
cd ../php/
# 构建php镜像如期
docker build -t 192.168.1.79:5000/lnmp-php:base .

注:地址IP需要根据环境修改,确认执行完毕,无误。

3.5 测试节点:上传到镜像仓库

docker push 192.168.1.79:5000/lnmp-nginx:base
docker push 192.168.1.79:5000/lnmp-php:base

4、部署节点:安装docker-compose

猜你喜欢

转载自www.cnblogs.com/xiangsikai/p/10057087.html