Jenkins 部署自动化测试脚本(15)
自动化测试脚本开发完成以后,希望可以把脚本放在公共的环境下提供一个入口供大家一起使用,目前最好的解决方案就是需要把代码部署在Jenkins上,下面看下如何在Jenkins配合自动化测试任务;
1.首先我们需要搭建Jenkins的运行环境,请参考Jenkins入门-环境搭建(1);
2.环境搭建完成最重要的是安装插件,插件的安装需要根据自己实际的使用情况安装,没有必要大而全的安装,这样很容易引入一些没有必要的麻烦,比如说插件的漏洞,会让你服务器遭受到不必要的攻击;
目前我的代码托管在公司内部的gitlab,首先我需要在Jenkins安装Git plugin/Git client/GIT server Plugin 插件,这里主要我们想通过jenkins自动从gitlab上获取代码,插件安装称成功以后重新启动Jenkins;

3.Jenkins 服务器安装GIT工具
- Linux 安装GIT
# 安装git
yum install git -y # 校验安装是否成功
git --version
- Window安装GIT
# 下载地址
https://git-scm.com/download/win
下载完成一步一步的进行安装直到完成,安装过程中需要命令添加环境变量,执行git --version 返回结果安装成功

4.Jenkins 配置全局工具
- 系统管理 --> 全局工具配置 --> Git

- Linux 查询git命令的位置
[root@iZ25vrq5z1zZ plugins]# which git
/usr/bin/git
5.创建Jenkins任务,目前我们的自动化主要采用Python来开发,所以我这边只要创建一个《构建一个自由风格的软件项目》,如果是java开发的项目可以创建《构建一个maven项目》,其实这里主要就是个模板的问题;

6. 配置任务
配置Jenkins任务主要配置两点,第一代码管理,第二是构建
- 代码管理

代码拉取的权限,代码拉取的权限配置方式很多,我们这里只要通过gitlab的账号和密码即可,这样我们就可以自动拉取代码

- 构建
构建我们可以理解为,执行代码的方式即可,如果Linux 下部署构建命令执行shell脚本,如果是win部署,我们需要构建命令bat脚本;

注意:
如果代码下载完成后,我们可以通过pwd的命令查询下当前位置,然后通过相对路径找到代码路径;
目前我使用pytest 框架来构建自动化测试,所以我这边只需要shell添加pytest命令就可以构建执行;

Jenkins 部署自动化测试脚本(15)的更多相关文章
- Jenkins部署jmx脚本
针对jenkins+jmeter做接口自动化,jmeter完成测试脚本录入和撰写,而jenkins负责持续集成和报告收集.那么从零实现jenkins可以从以下角度实现 首先需要安装jenkins ...
- 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程
Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...
- jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)
jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...
- gitlab+jenkins 持续部署自动化测试
背景:为了减少测试部署时间和减少不必要的重复工作,采用持续集成的方式进行部署,当gitlab的release (测试)分支有代码变动时,自动拉取代码部署测试环境,并进行接口回归测试 优点:部署自动化, ...
- Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署
前言: 2017年最后一个月份,今天抽出时间把之前的一些记录分享出来,也为今年画上个简单的句号吧,无论好与坏,无论成功与失败,简单的记忆,不要留下点点空白. 特别提示: 知识是用来分享的,但是也要尊重 ...
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
- Jenkins部署实战篇
Jenkins部署实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.持续集成理论 1>.开发写代码的演变过程 1.1>.一个开发单打独斗,撸代码,开发网站,自由 ...
- Hadoop生态圈-离线方式部署Cloudera Manager5.15.1
Hadoop生态圈-离线方式部署Cloudera Manager5.15.1 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到目前位置,Cloudera Manager和CDH最新 ...
- Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...
随机推荐
- Note of Jieba
Note of Jieba jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装. 一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容 ...
- APP在线课程设计
VR在线课程是我们的主打产品,分为“人工智能鱼”.“海洋史”.“濒危海洋动物保护”.“生物进化”.“海洋知识科普”和“海洋法律”等六大主题,其中“人工智能鱼”为主打特色课程,每个主题也设置了不同难度系 ...
- 预先封装数据的思路.md
预先封装数据的思路.md python3 最近有两位同学开发开发了用程序在线竞猜数字的小游戏,可以通过以下两个网址去玩: bbaa的游戏 http://bbaass.tk/math/ codetige ...
- spring cloud 的安全连接
Spring Cloud可以增加HTTP Basic认证来增加服务连接的安全性. 1.pom.xml加入security启动器 <dependency> <!-- Spring Cl ...
- mysql 自定义方法 function
在创建函数的时候,如果报如下错误 这个时候一定要先执行:set global log_bin_trust_function_creators=TRUE; 第二步骤: delimiter ;;CREAT ...
- vue-router 重难点总结笔记
1,使用动态路由配置的(如:‘:id’),可以在this.$router.params.id获得. 官网例子: 模式 匹配路径 $route.params /user/:username /user/ ...
- 字符串排序简单的工具类,数组转list,list转数组
public static void main(String[] args) { /* String[] str = {"a", "c", "b&qu ...
- java数组的for遍历
class ArrayDome { public static void main(String[] args) { int[] arr = {12,51,12,11}; //顺序遍历 for(int ...
- Python全栈之路----常用模块----xml处理模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的 ...
- postman导入csv文件,批量运行
1.设置csv文件,第一行必须标明变量名 2.postman参数化设置 3.批量 run即可