Docker+Jenkins+Maven+SVN搭建持續整合環境
阿新 • • 發佈:2018-12-03
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