Jenkins自动部署增加http状态码校验
公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一问题。本文记录了解决这一问题的过程。
- 安装包管理工具pip
- 安装requests模块
- 请求http资源
- 指定ip访问http资源
安装包管理工具pip
- 上一篇第一个python程序,需要第三方类库时,都是去官网手动下载,实际上python有很好的包管理工具pip。安装过程参考网上,官网下载安装包,执行python setup.py install,配置环境变量,命令行执行pip -V,显示pip版本信息,pip安装成功。
- 如何发布自己的pip项目,参考https://blog.csdn.net/fengmm521/article/details/79144407。
安装requests模块
- 极其简单,命令行执行pip install requests即可。
请求http资源
- 实现http请求完整代码如下:
# -*- coding: UTF-8 -*-
import requests r = requests.get(url='https://www.python.org/search/' , params={'q':'pip'})
print(r.text)
指定ip访问http资源
- 完整代码如下,正常请求地址为http://www.domain.com/iistools/iptest.aspx,通过如下方式,则访问到指定IP地址218.32.11.16。
# -*- coding: UTF-8 -*-
import requests response = requests.get('http://218.32.11.16/iistools/iptest.aspx', headers={'host': 'domain.com'})
print(response.text)
- 感觉这个方法很实用,可以不用修改本地hosts文件,而实现指定服务器访问,可以给很多工作带来便利。
指定IP访问的原理
通过域名形式访问时,域名有两个作用:1)寻址找到域名对应的服务器资源;2)浏览器自动在请求头添加host:domain.com ,目的是定位到服务器n多站点中绑定了该域名的站点,所以可以把http请求携程上述代码形式。知道了原理后,各个语言实现起来都不难。
参考资源:
- https://stackoverflow.com/questions/29995133/python-requests-use-navigate-site-by-servers-ip
- https://blog.csdn.net/jfchef/article/details/7693517
Jenkins自动部署增加http状态码校验的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- jenkins自动部署tomcat
关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...
随机推荐
- HDU 1540 Tunnel Warfare(经典)(区间合并)【线段树】
<题目链接> 题目大意: 一个长度为n的线段,下面m个操作 D x 表示将单元x毁掉 R 表示修复最后毁坏的那个单元 Q x 询问这个单元以及它周围有多少个连续的单元,如果它本身已经被 ...
- Logstash读取Kafka数据写入HDFS详解
强大的功能,丰富的插件,让logstash在数据处理的行列中出类拔萃 通常日志数据除了要入ES提供实时展示和简单统计外,还需要写入大数据集群来提供更为深入的逻辑处理,前边几篇ELK的文章介绍过利用lo ...
- python数据结构之队列(二)
书接上文,双端队列区别于单队列为:双端队列可以对队列头和尾部同时进行操作,单队列不行 #coding:utf-8 class DoubleQueue(object): def __init__(sel ...
- Boruvka算法求最小生成树
学习了一个新的最小生成树的算法,Boruvka(虽然我不知道怎么读).算法思想也是贪心,类似于Kruskal. 大致是这样的,我们维护图中所有连通块,然后遍历所有的点和边,找到每一个连通块和其他连通块 ...
- elementUI Tree 树形控件--官方文档
一.基础用法基础的树形结构展示,props相当于一个对实体类对像 <template> <el-tree :data="data" :props="de ...
- C++程序设计方法3:强制类型转换
强制类型转换(显示转换) dynamic_cast<Dst_Type>(Src_var) Src_var必须是引用或者指针类型,Dst_Type类中含有虚函数,否则会有编译错误: 若目标类 ...
- 02-CSS&JS
今日目标 使用CSS完成网站首页的优化 使用CSS完成网站注册页面的优化 使用JS完成简单的数据校验 使用JS完成图片轮播效果 教学目标: - 了解CSS的概念 - 了解CSS的引入方式 - 了解CS ...
- Ruby语法基础(三)
Ruby语法基础(三) 在前面快速入之后,这次加深对基本概念的理解. 字符串 Ruby字符串可以分为单引号字符串和双引号字符串,单引号字符串效率更高,但双引号的支持转义和运行 puts '单引 ...
- c c++ 数组初始化
1.写个for循环,挨个赋值 2.memset函数,头文件 string.h 或者是cstring 3.int a[10]={0};对第一个元素赋值,后面也就都是0了,或者是直接int a[10]={ ...
- Java基础知识总结--String、StringBuffer、StringBuilder
1.Java String 类 String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法.在Java中,被final修饰的类是不允许被继承的,并且该类中 ...