提示:基于Linux下搭建的ci框架
因为我之前开放过3690端口,这里就不继续了。
后面加入安全组
<1>进入Linux服务器的根目录下:
cd /
<2>输入yum命令:
yum -y install subversion
<1> 创建连级目录,作为svn的根目录
mkdir -p /var/svn/svnrepos
<2>创建svn仓库,名字为:test
svnadmin create /var/svn/svnrepos/test
<1>进入svn配置目录中
cd ../var/svn/svnrepos/test/conf
<2>vim authz :创建账号,给账号赋予权限,读写
vim authz
在文件结尾添加 账号 = rw
账号自己任意设置,可创建多个账号:
账号1 = rw
账号2 = rw
添加好后保存退出
<3>vim passwd:给创建的账号设置密码
vim passwd
原文不动,在文件结尾追加新建的账号密码 账号 = 密码
保存退出
<4>vim svnserve.conf:将截图中内容去掉注释,注意,每行前面不要留空格
只是去掉注释!!不是删除整行!!
保存退出
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
svnserve -d -r /var/svn/svnrepos
进官网:https://tortoisesvn.net/
下载速度如果过慢,可以复制下载链接,用迅雷下载
步骤略,无脑下一步即可
输入:svn://ip地址:3690/test ip地址是你服务器的地址
确定后,见此页面,恭喜你,离完活儿不远了
右键创建库文件夹
名字可以叫 test
点击ok后
写备注,说明这个库是干嘛滴
再点ok,后输入账号密码(前面我们在服务器中配置的账号密码都可以登录)
SVN Update:更新仓库内容
SVN Commit:提交仓库内容
<1>添加:8000、9000、50000的端口(后面jenkins会用到)
<1>清理旧版本 :
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
<2>安装依赖:
yum install -y yum-utils
<3>设置镜像仓库:
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
<5>linux命令-启动docker
systemctl start docker
<6>查看docker版本
docker version
<7>拉取hello-world镜像
docker run hello-world
<8>查看镜像
docker images
<1> 创建连级目录
sudo mkdir -p /etc/docker
<2>创建daemon.json文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ukbwllh8.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
<1>运行 Jenkins,并命名为jenkins001的容器
docker run -u 0 -d -p 9000:8080 -p 50000:50000 --name jenkins001 -v v_jenkins:/srv/jenkins_home jenkins/jenkins:centos7
<2>查看docker日志
docker logs jenkins
docker exec -it jenkins001 /bin/bash
<1>前置:在Linux的根目录中的opt目录放入压缩包
略
<2>进入Linux的根目录
cd /
<3>查看Docker中已有容器
docker ps -a
<4>使用docker命令挪动两个zip包到jenkins容器内的opt目录下
docker cp /opt/apache-ant-1.9.16-bin.zip jenkins001:/opt
docker cp /opt/apache-jmeter-5.3.zip jenkins001:/opt
<5>进入jenkins容器内
docker exec -it jenkins001 /bin/bash
<1>进入jenkins容器内的opt目录
cd opt
<2>创建jmeter、ant目录
mkdir ant jmeter
<3>移动jmeter的zip包到/opt/jmeter目录下
mv /opt/apache-jmeter-5.3.zip /opt/jmeter
<4>移动ant的zip包到/opt/ant目录下
mv /opt/apache-ant-1.9.16-bin.zip /opt/ant
<5>解压jmeter的zip包
cd jmeter
unzip apache-jmeter-5.3.zip
<6>解压ant的zip包
cd ..
cd ant
unzip apache-ant-1.9.16-bin.zip
<1>打开文件
vi /etc/profile
<2> 添加jmeter环境变量
export JMETER=/opt/jmeter/apache-jmeter-5.3
export PATH=$JMETER/bin:$PATH
export JMETER=/opt/jmeter/apache-jmeter-5.3 。路径改为你安装jmeter的绝对路径
最后,使用 source /etc/profile 刷新环境变量:
source /etc/profile
<3>进入jmeter的bin目录下,给予jmeter.sh最高权限
cd /opt/jmeter/apache-jmeter-5.3/bin
chmod 777 jmeter.sh
<4>验证jmeter是否配置成功
jmeter -v
<1>打开文件
vi /etc/profile
<2>在文件末尾添加下面这两行
export Ant=/opt/ant/apache-ant-1.9.16
export PATH=$Ant/bin:$PATH
export Ant=/opt/ant/apache-ant-1.9.16 .路径改为你安装ant的绝对路径
最后,使用 source /etc/profile 刷新环境变量:
source /etc/profile
<3>验证ant是否配置成功输入:
ant -version
<4>给予ant文件最高权限
cd /opt/ant
chmod 777 apache-ant-1.9.16
cp /opt/jmeter/apache-jmeter-5.3/extras/ant-jmeter-1.1.1.jar /opt/ant/apache-ant-1.9.16/lib
/opt/jmeter/apache-jmeter-5.3/extras 路径改为你安装jmeter的绝对路径
/opt/ant/apache-ant-1.9.16/lib 路径改为你安装ant的绝对路径
<1>打开jenkins
在浏览器中,输入:http://你的阿里云ip地址:9000/
输入账号密码,点击登录
<2>空构建job(这里的任务名称为我练习的项目哈)
点击新建Item
任务名称为:不二掌柜持续集成
不做任何操作,点击保存
点击立即构建,并查看jenkins的工作空间路径
点击下面的构建历史,查看此job的工作空间
<1>获取build.xml内容(可以直接拉取我的并使用,但是大家不要上传东西哈)
build.xml文件,请用svn拉取
地址: svn://47.104.65.165/test/Jmeter_API
账号:admin
密码:123456
<3>进入Linux内,jenkins容器中的job的工作空间内,放入build.xml和jmx脚本
docker exec -it jenkins001 /bin/bash
上传xml和jmx脚本需要用到lrzsz库,所以这里我们安装一下
yun install lrzsz
使用xshell,直接将文件拖进窗口内就ok
<4>Linux上,本地验证下环境是否可用
进入工作空间路径,输入ant
ant
source /etc/profile
之后再去执行ant
ant
<1> 配置JDK环境变量
进入jenkins—Manage Jenkins
点击Global Tool Configuration
配置JDK,点击JDK安装
Name名称为:JAVA_HOME
JAVA_HOME为:/opt/java/openjdk (在jenkins容器的根目录里,使用命令:find -name java可以找到)
<2>配置Ant环境变量
点击ant安装:
Name名称为:ant
ANT_HOME为:/opt/ant/apache-ant-1.9.16 (在jenkins容器的根目录里,使用命令:find -name ant可以找到)
<3>安装svn插件
点击Dashboard中的Manage Jenkins——>Manage Plugins
选择可选插件tab
搜索SVN 1.3 Compatibility Plugin,点击Install without restart
注意:1.4的SVN有时候会报错!!!
点击配置
<2> 配置svn
我的svn路径是:svn://47.104.65.165/test/Jmeter_API
添加凭证
<2> 配置增加构建步骤
点击增加构建步骤——>点击 Invoke Ant
Ant Version 选择ant(之前在系统设置中配置的ant名称)
点击高级
Build File :放入build.xml在Linux中的绝对路径
<3>配置 执行shell
点击增加构建步骤,选择 执行shell
写入以下内容
使用/bin/bash来解释执行,#!/bin/bash只能放在第一行:
#!/bin/bash -il
Jenkins容器进入job工作空间内:
cd /var/jenkins_home/workspace/不二掌柜持续集成
刷新ant环境变量:
source /etc/profile
执行ant脚本
ant
邮件发送逻辑:
构建失败会发送邮件
如果上次构建失败了,那么第一次构建成功也会发送邮件
如果上次构建成功了,那么后续不会收到邮件
Q:cp /opt/jmeter/apache-jmeter-5.3/extras/ant-jmeter-1.1.1.jar /opt/ant/apache-ant-1.9.16/lib;这步执行的时候,有时候会报错。
A:将步骤拆分,最后将ant-jmeter-1.1.1.jar,复制到了apache-ant-1.9.16/lib下
Q:构建报错
A:jenkins的job工作空间内,没有build.xml文件。后来我是在svn的仓库里加了build.xml文件
Q:构建报错。报了svn、java的一大堆错误
A:安装1.3的svn,1.4版本的不兼容,所以会报错
Q:job配置的系统环境中,ant路径配置错误
A:修改正确的路径
Q:构建报错
A:在后面选择执行shell时,在cd和ant前面加了空格。
配置完环境变量应该及时刷新(source /etc/profile 刷新环境变量)