jenkins+svn+脚本实现CIDI
使用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搭建持续集成环境
jenkins+svn+脚本实现CIDI相关推荐
- Linux下搭建jenkins+svn+http+maven自动化部署
Linux下搭建jenkins+svn+http+maven自动化部署 服务器设置: 卸载redhat的yum,安装centos的yum,配置第三方yum 1.删除redhat原有的rpm -qa | ...
- jenkins + svn + maven +svn 实现当SVN提交代码后自动触发打包部署
前言 主流的开发模式都是采用前后端分离的方式,我们作为coder在功能开发初期需要不断的迭代代码与前端进行联调,提供在容器中最新代码,虽然可以通过在编译器中打完包后在放到容器运行,但是显然这种方式是既 ...
- jenkins 安装及配置部署操作 (jenkins+svn+tomcat and jenkins+git+maven+tomcat)
jenkins 安装及配置部署操作 jenkins+svn+tomcat and jenkins+git+maven+tomcat jenkins rpm软件包下载地址: https://pkg.je ...
- Jenkins+Svn搭建持续集成环境和自动部署
Jenkins+Svn搭建持续集成环境和自动部署 一.环境说明 centos 6.8 ip:192.168.1.26 二.运行环境配置 1.安装java环境,下载jdk并放在/usr/loca ...
- win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法
win10 jenkins svn android studio 自动化打包教程 这两天搭建jenkins自动构建环境,中间遇到点坑坑洼洼 分享出来希望后来人少走些弯路 准备软件 jenkins.ms ...
- 通过Jenkins执行脚本,生成自动化测试报告
1.allure配置 a.下载 allure 的安装包.allure 跨语言的 b.下载链接:https://github.com/allure-framework/allure2/releases ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...
- jenkins svn/git sonarqube scanner 代码集成测试
大家好,我是烤鸭: 今天分享一个代码检测工具sonar,在jenkins集成的时候使用. 环境: sonarqube 7.1 jenkins 2.12x sonarqube scanner (官网最新 ...
- svn拉取文件合并_四、Jenkins+SVN拉取文件下发
一.安装SVN [root@docker02 ~]# yum -y install subversion [root@docker02 ~]# mkdir -pv /data/svn [root@do ...
- 【简书 DC谢老师】JMeter + jenkins + SVN 接口自动化之简单 demo
JMeter工具基础知识篇-工程目录结构及命名规范 如果没有目录结构及命名规范,你压根没法实现自动化的持续集成工作,你将被局限在工具级别的自动化上面,离测试框架或测试平台平台之路遥遥无期. 如果你想成 ...
最新文章
- MySQL下备份和恢复简单介绍
- linux内置变量大全,Linux进阶之bash编程四(内置变量)
- tkinter 类继承的三种方式
- ADOQuery 查询 删除 修改 插入
- 爬虫5-BeautifulSoup模块简解
- Python攻克之路-xml模块
- 剑指offer 35 第一个只出现一次的字符
- c# vs2019 AForge简单使用
- mrpoid模拟器java版_mrpoid2冒泡模拟器下载-mrpoid2模拟器下载3.0安卓版-西西软件下载...
- typedef struct Lnode{ Elemtype data; struct Lnode *next; } Lnode,*Linklist;
- 嵌入式系统移植课笔记1(学通)
- 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day13-面向对象进阶01
- 美容院如何更好的招揽顾客
- 关于智慧团建忘记密码的解决方法
- 一键百度 一键翻译 云脉CC慧眼百度搜索版
- 2017年3月历史文章汇总
- 中国顶级门户网站架构分析1
- Win10+VMplayer12中U盘无法挂载解决
- 如何0元搭建一个共享收费Wifi?
- python:使用scipy求解常微分方程