Jenkins+Gitlab+RF使用
一、了解概念
1.持续集成
每天都进行一次代码合并,就是持续集成。
每天都要做代码合并,防止冲突,在合并的时候会产生冲突,所以提交的时候有先后顺序,就是你先上传,然后我把你上传的拉过来和我的进行合并,排除冲突,然后我在上传到主分支。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
2.什么是持续交付
开发首先进行单元测试---最后把所有代码放一起进行测试---代码质量检查。
3.什么是持续部署
频繁的代码上线就是持续部署。
4.没有持续集成
项目做模块集成的时候,发现很多接口跑不通,浪费大量时间。
需要手动去编译打包最新的代码,构建过程不透明。
发布代码,上线,基本靠手工,脚本乱飞。
流程:
介绍:
环境:Windows、Linux
工具:Jenkins、Docker、Gitlab、RobotFramework
二、开工实践
Docker下Gitlab安装
gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
运行gitlab镜像
$ docker run -d -p 443:443 -p 8886:80 -p 8222:22 --name qyzstudy --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ee
-d:后台运行
-p:将容器内部端口向外映射
--name:命名容器名称
-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录,即修改本地文件直接映射影响容器文件
使用流程:
容器启动
gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
Gitlab配置,linux的ip地址ifconfig查看,改完配置记得重启一下容器(docker restart 容器名称或者容器id)
windows端访问gitlab
创建项目仓库
windos设置SSH
1.打开本地git bash,使用如下命令生成ssh公钥和私钥对
$ ssh-keygen -t rsa -C 'xxx@xxx.com'
然后一路回车(-C 参数是你的邮箱地址)
2.然后输入命令:
~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容
$ cat ~/.ssh/id_rsa.pub
添加秘钥
从Gitlab克隆仓库
Jenkins设置
创建一个job添加git地址
添加webhook
Gitlab设置
复制jenkins构建触发器上的URL
生成token复制用作gitlab的 Secret Token(可以不用这不也行)
设置Webhook
添加完成后进行提交测试,页面提示200则成功
回到jenkins查看是否触发构建
准备好RF脚本在Jenkins配置
命令:robot -d rf测试保存报告的路径(可以不加) 测试脚本的路径
Jenkins构建后操作选择rf插件,用于测试结果收集
保存后执行构建和提交构建测试
检查报告目录,点击会打不开,这个解决方案网上有很多解决方案
构建查看结果
**查看结果,一开始的job删掉了太懒就随便找个结果来看吧**