ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jenkins+Gitlab+RF使用

2021-01-30 10:33:47  阅读:181  来源: 互联网

标签:集成 容器 gitlab Gitlab RF 构建 Jenkins


一、了解概念

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删掉了太懒就随便找个结果来看吧**

总结:网上的资料也有很多,自己总结的也比较粗糙踩的坑也挺多的,只有自己实践过了记下来的才是自己的。

标签:集成,容器,gitlab,Gitlab,RF,构建,Jenkins
来源: https://www.cnblogs.com/yitiaoxiaomaga/p/14347012.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有