什么是Jenkins? Jenkins是一个持续集成和持续交付的java应用程序,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.简单得说就是一款自动化构建测试和部署的Java应用程序. Jenkins的应用场景 简单的应用场景:在团队开发中,我们时常会遇到这样一个问题.比如,我们把团队项目部署到github上面,当我们把本地开发的代码提交到GitHub仓库之后,那么服务器该怎么自动更新呢?GitHub上面有webhook可以实现,还要自己写代码,感觉不够智能.针…
理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置等.这些操作是重复而枯燥的,如果是人工来一项一项做,会浪费大量时间,需要有一个高效的工具来帮我们完成. 这篇文章中我们用可执行的步骤告诉大家,如何用 flow.ci 从 GitHub 到 Slack 搭建简单的 Python 自动化持续集成. 了解 flow.ci flow.ci 是融入了 work…
工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目spring boot框架 使用 个软件版本 jenkins Jenkins ver. 2.90 docker 17.10-ce svn 1.6 maven 3.5 spring boot 1.5.6 centos7 实现目标:当我们迁入代码时自动升级到测试服务器,如下图 第一步 重新构建自己的jenkins…
工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目spring boot框架 使用 个软件版本 jenkins Jenkins ver. 2.90 docker 17.10-ce svn 1.6 maven 3.5 spring boot 1.5.6 centos7 实现目标:当我们迁入代码时自动升级到测试服务器,如下图 第一步 重新构建自己的jenkins…
前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下,开发通常都会搭建一个简单的自动化打包平台(Jenkins),自动化构建打包或者上传到蒲公英,firm等分发平台.作为测试也需要了解相关的知识,用以优化提高开发测试效率. 涉及技术点: Jenkins的搭建配置,任务构建 Android开发环境配置 Android gradle的配置使用 内容包含:…
一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了. 偏离主题,正文走起...... 使用jenkins目标:利用其结合maven完成自动构建,并部署到tomcat,解放出双手,专注于业务逻辑实现,可配置成定期自行构建部署,亦可由测试人员根据测试情况,手动完成构建部署. jenkins搭建运行有段时间,主要是利用"Deploy to container Plugin"来达到自动构建.部署的目标.但此插件运行起来不稳定,经常会导致目标Tomcat服务…
前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下,开发通常都会搭建一个简单的自动化打包平台(Jenkins),自动化构建打包或者上传到蒲公英,firm等分发平台.作为测试也需要了解相关的知识,因为这些工作也有可能测试来做或推动开发去做相关的工作,用以优化提高开发测试效率. 涉及技术点: Jenkins的搭建配置,任务构建 iOS开发环境配置 iOS…
主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的war部署到tomcat容器下. 环境:Centos7.Maven3.5.3.git(单机) 安装Git #安装编译git时需要的包 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc perl-ExtUtils-MakeMaker #把git源码包解压到/usr/local/…
一.安装jenkins 二.将需要持续构建的java project打包成jar文件 1.选择导出需要运行的main方法所在java类…
前言 个人项目越来越多,部署需要频繁操作服务器,所以手动搭建一套简单的部署系统. 效果如图 其中包含 原生html+css+js项目,单页面react, vue, angular项目,实现了一键打包发版. 实现思路 json文件:记录项目部署状态 shell脚本:仓库拉取代码,项目打包,移动资源到服务器指定目录 具体实现 服务器需要基本工具:git, node, npm shell脚本 原生多页面项目shell如图 只需要拉取远端代码,移动到服务器指定目录. 单页面项目shell如图 拉取完代码…
主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的jar包通过shell脚本启动. 环境:环境:Centos7.Maven3.5.3.git(单机) 准备工作 Git.Maven和Jenkins安装及配置点击这里. 构建任务…
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker swarm 注意docker启动时,需要开启tcp端口 1.Jenkins 安装 1.1 命令行启动: 安装比较简单,直接运行 docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/var/jenkins_h…
一.实验目标 二.配置 1.配置mvn构建 [root@node1 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz [root@node1 bin]# tail 1 /etc/profile export PATH=$PATH:/application/mvn/apache-maven-/bin 2.配置变量方式 a.在节…
一.整体功能 1.触发上下游构建 2.我们在触发一个job的时候顺便丢一些参数过去,这些参数有可能是我这次编译过程中产生的一些地址,版本号或动态的一些东西丢到下游作为下游的构建参数 3.不同种类的视图…
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker swarm 注意docker启动时,需要开启tcp端口 1.Jenkins 安装 1.1 命令行启动: 安装比较简单,直接运行 docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/var/jenkins_h…
因为MAC是大小写不敏感的操作系统,很多Linux命令不支持,所以首先要创建大小写敏感的操作系统. 设置静态IP 打开"System Preferences..." 点击"Network" 设置静态IP 设置Terminal 在"Utilities"中找到Terminal,点击"Terminal" 右击Terminal图标,选择"Options" -> "Keep in Dock"…
1.网络架构图如下 2.采用这种方案的原因 1.现网机器都在各个省机房内网,或者堡垒机内部.无法直接从公司总部ssh到各个现网机器 2.现网机器可以访问到公网.因此可以从公网下载制作的tar包 3.每次升级现网项目实际通过vpn远程或者堡垒机方式登录.然后手工把tar包传输到对应机器上,操作繁琐,浪费大量时间 3.方案特点描述 1.采用gitlab作为公司私有代码托管仓库,和开发约定好采用tag标签作为发布版本 2.jenkins机器有2台,一个master,一台slave.这里在jenkins…
一.ant安装配置 1.官网下载地址:http://ant.apache.org/bindownload.cgi 对应的操作系统选择对应的版本下载,本文以windows为列,下载后解压到本地 2.设置系统环境变量 ANT_HOME: d:\apache-ant-1.9.7 path: %ANT_HOME%\bin classpath: %ANT_HOME%\lib 设置完后在dos命令输入 ant -version后出现对应的ant版本即ok! 二.jmeter和Jenkins安装省略,请参考相…
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4. 添加参数 # 参数 . name: git_repo type: string description: 项目在git版本仓库的地址,如 https://gitee.com/xxx/dubbo-demo-service.git . name: app_name type: string description: 项目名称,如 dubbo-demo-service . name: git_ver type: s…
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央仓库地址 7.添加第四个参数:项目在git仓库的对应分支或版本号 8.添加第五个参数:添加镜像标签 9.添加第六个参数:编译项目的位置 10.添加第七个参数:项目编译完成后,产生jar/war包的位置 11.添加第八个参数:编译所要使用的命令 12.添加第九个参数:使用哪个底包 13.添加第十个参数…
1.curlcurl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 1.1 获取url指向的页面/资源文件:如果URL指向的是文件或者图片等资源文件,资源文件可以直接下载到本地 curl http://www.baidu.com 1.2提交GET请求 curl "wwww.baidu.com?wd=jenkins” 1.3提交POST请求 curl -d "wd=jenkins”…
#!/bin/sh TOMCAT_PATH=`dirname "$0"` echo "TOMCAT_PATH is /usr/local/tomcat" PID=`ps aux | grep /usr/local/tomcat | grep java | awk '{print $2}'` if [ -n "$PID" ]; then echo "Will kill tomcat: $PID" sh "/usr/lo…
1.拉取代码 2.更新父版本 更新依赖版本 3.打包并推送到maven私库 4.版本控制后提交代码并打成docker镜像 PS:修改pom.xml项目版本,这里我没使用插件,直接使用脚本进行修改,这样不通用,我写的要本要求版本格式必须为1.0.1这种样式,并且version必须放在其他依赖之前. 脚本: #!/bin/sh echo "=========================== start update version ========================="…
如题. 在 shell 里面执行  env 发现一个   NODE_ENV=production  的环境变量,是这个东西的原因. 通过  unset NODE_ENV  命令去掉这个环境变量就可以了.…
通过前几篇文章,jmeter+ant+jenkins自动化持续构建的测试平台基本成型.既然要自动化平台,最基本的肯定要实现不经过人工干预,平台会在特定的条件下自动运行测试脚本,并在脚本运行结束后,发送邮件通知用户测试的结果.本文主要介绍如何实现以上两项功能. 还是接着以上一篇笔记中的“test_token”项目为例: 1.构建触发器 构建触发器可以根据自己的需求选择,由图看到有四种类型: (1)可使用脚本触发远程构建: (2)其他job构建完成后触发当前job执行构建: (3)定时周期性构建:…
由于前段时间刚换的工作,公司用的是mac电脑办公,之前办公都是windows系统.刚开始使用时连基本的操作都要去找度娘,很不习惯,新电脑开始就是安装相关的工作工具 下面就说说遇到的哪些坑. 1.  mac电脑自带jdk,默认的路径,我来了之后又下载jdk 在终端(Terminal)下.bash_profile 又重新指定jdk安装路径结果造成jenkins 无法启动,输入相相关命令显示" -bash: lcd: command not found"没有发现这个命令,后来研究好长时间终于…
本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用1.7.1代码托管使用的Github官网系统为IBM Bluemix提供的Cent6.7,服务器地址在美国南加州 1.1 创建一个Freestyle Project, let's say jenkins-docker 1.2 Set workplace to /var/lib/jenkins/job…
需不需要一个独立的部署系统是很多企业用户在构建持续交付流程中经常困惑的一个问题.也经常有用户会问我们,现在已经有Jenkins,它自身提供了丰富的部署插件(如WebSphere部署插件.Tomcat部署插件等),方便用户直接把构建出来的部署包自动化部署到指定机器(甚至云服务).那为什么不可以围绕Jenkins,集成一系列部署流程,从而不需要额外搭建一个独立的部署系统? 注:本文以Jenkins为例来说明独立部署系统的重要性.但持续构建工具不仅仅限制于Jenkins,还包括如BuildForge.…
原文出自:http://os.51cto.com/art/201601/504846.htm 有了Jenkins,为什么还需要一个独立的部署系统? 现在已经有Jenkins,它自身提供了丰富的部署插件(如WebSphere部署插件.Tomcat部署插件等),方便用户直接把构建出来的部署包自动化部署到指定机器(甚至云服务).那为什么不可以围绕Jenkins,集成一系列部署流程,从而不需要额外搭建一个独立的部署系统? 持续交付与部署系统 上面提出了一个非常好的问题,但是要回答这个问题,我们需要从更大…
1. 背景介绍 在实际开发中,经常要一边开发一边测试,经常为了一个功能而不断更新版本,这些情况都会涉及到频繁的打包.部署:手动打包的涉及到项目上传.打包.发布等很多重复工作: 那么,有一种工具能够实现,将代码提交到git后就自动打包部署,替换手动认为打包,答案是肯定的:Jenkins ,当然除了Jenkins以外,也还有其他的工具可以实现自动化部署: 2. Jenkins服务器搭建于基本配置 2.1. Jenkins自动化/持续集成部署实现原理 2.2. Python3.0自动化发布脚本 Dev…