CICD之jenkins
jenkins是什么?为什么要用jenkins?jenkins如何安装和使用?本篇文章主要回答这些问题。
jenkins是什么
从官网(https://jenkins.io/zh/)介绍来看: Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。CI&CD(Continous Integration & Continous Delivery)通过包含自动构建,测试,部署的流水线方式能大幅提高从源码到生产环境下的应用,能大大提高整个项目的开发效率,特别是对于需要频繁改动的项目而言。jenkins就提供了这样一个软件服务。所以从使用意义上来说,jenkins就是为了提供CI&CD服务的软件。jenkins就像是管家一样,本身并不一定提供什么特殊功能,它最大的好处是按照事先定义好的流程在合适的时机(定时或事件触发)自动执行,从而减少人工操作。
为什么使用jenkins
适用平台广泛,配置简单,丰富插件,扩展性强,支持分布式。
首先从使用平台来说,jenkins包含windows,mac os x和linux的操作系统上运行,便于安装。另外,jenkins提供了网页配置,使得配置更加方便简单。jenkins提供了大概1000多个插件,具有强大的能力来完成相应的工作(例如,docker插件能进行镜像的打包上传下载能力)。jenkins能利用插件与其他架构,同时自身也提供了丰富的接口(例如restapi接口,git接口)。另外,jenkins能够支持分布式,将具体任务分发到不同的机器上执行,提高编译,测试和部署的效率。
如何安装jenkins
具体可参考官网https://jenkins.io/zh/doc/book/installing/来安装。这里以deepin(linux的debian改进版)操作系统为例。需要准备的环境为:jdk,docker
jenkins是java编译的,所以需要jdk环境。目前的jdk8官网下载(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)需要注册oracle之后才能下载。下载后进行解压,并将解压后文件夹移动到特定路径下(这步不是必须的,我一般将文件放到/opt/java/jdk路径下),修改/etc/profile,插入下面一段:
export JAVA_HOME= /opt/java/jdk
export JRE_HOME = /opt/java/jdk/jre
export JAVA_CLASS = $JAVA_HOME/lib
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
之后执行source /etc/profile
通过使用java -version来查看是否安装成功。

以上可以看到jdk安装成功。
docker 安装:
这篇文章https://www.cnblogs.com/jason1990/p/9887353.html介绍了安装过程。

以上配置环境后,开始执行。
注意这里是通过二进制文件安装的,在/etc/docker下并没有daemon.json文件,若想对本机的docker进行配置,需要在
/etc/docker创建一个daemon.json或者通过dockerd --confile=XXX来指定配置文件。之后使用systemctl reload-daemon重新加载配置,利用systemctl restart docker.service来重启docker服务,通过systemctl status docker -l或者docker info来查看状态。
利用docker运行jenkins。
执行命令来启动jenkins:docker run -u root --rm -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean 这里的镜像jenkinsci/blueocean有可能无法获取,通过加速器也无法获取,具体可以通过阿里云来代理下载。
在本地运行后,通过localhost:8080可以查看jenkins已经正在初始化,稍作等待后,系统提示输入admin的密码(https://jenkins.io/doc/book/system-administration/viewing-logs/来查看密码的位置)。由于我们是采用docker运行的,直接通过docker logs containerid来查看,输入之后,等到一段之后就可以看到以下界面。
接着就可以进行配置了。如果是国内的网,很有可能下载插件失败。这时候可以自己通过手动下载jenkins插件文件之后,通过离线的方式(https://www.cnblogs.com/yy-cola/p/10162062.html)来安装相关插件http://updates.jenkins-ci.org/download/plugins/。这里就不再详细讲述。

接下来就可以使用该jenkins作为服务器进行构建了。
版权声明:本文遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangyhwyh753/article/details/105506032
更多相关推荐
1.开始菜单有个Microsoftstore,点击搜ubuntu.选择ubuntu20.04LTS.点击安装就可以了。2.如果点击提示ubuntu20.04LTS搜不到,可能需要你注册一下window账号。注册好登陆后就可以下载了。3.在安装过程中提示如下错误解决办法解决办法如下控制面板–程序与功能–启动或关闭Windows功能勾选适用于Linux的Windows子系统,重启即可...
以前,要在windows中使用ubuntu系统,只能使用VMware等虚拟机。win10正改变了这一缺陷,可以不使用虚拟机,而直接在windows中安装Linux子系统。 优点:响应速度快,无需安装虚拟机。 缺点:不能安装32位系统;无内置gcc编译器,需要自己安装;无图形界面。 一、win10版本这里以win10家庭版为例。 二、开启开发人员模式进入【设置--更新和安全--针对开发人...
默认情况WSL装在系统盘(C:),C盘空间不足怎么办?能修改WSL安装路径吗?1、使用LxRunOffline不仅能修改WSL安装路径,还能备份WSL、还原WSL……下载地址2、下载、解压LxRunOffline在解压后的LxRunOffline目录打开命令行.\LxRunOfflinelist#查看已安装的Linux子系统>Ubuntu新建位置,例如:D:\UbuntuWSL.\LxRun...
原文发表于:https://www.mond.top/ubuntu/ubuntu-winapps/,欢迎大家去这里给我的博客贡献访问量😜最近发现了一个十分好用的项目:winapps,GitHub地址:https://github.com/Fmstrat/winapps。这个项目可以让你在Ubuntu或者其他Linux发行版和GNOME/KDE桌面上直接使用Windows虚拟机或RDP服务器上的Wi...
通过微软商店软件安装kaliLinux子系统及图形界面开启windows的wsl功能:这里引用一位博主大佬的文章:(https://blog.csdn.net/qq_36512792/article/details/80058426)为下载Linux的图形化界面软件做准备:首先需要下载Xming,当然如果觉得自己足够富裕可以直接到微软商店里购买Xserver4windows10(x410),偶尔这...
继SUSELinux登陆之后,Ubuntu今天正式以UWP应用的身份上架Win10应用商店。WindowsInsider用户升级到Win10秋季创意者更新预览版Build16190及以上就可以下载和安装Ubuntu系统应用。一旦下载和安装完Ubuntu应用后,它将开始在你的Windows10PC上安装Ubuntu。Win10商店最新版本是Ubuntu16.04LTS。安装Ubuntu将允许用户使用...
第一步,需要安装一个名为w3m的软件工具,打开终端,输入如下命令sudo apt-get install w3m w3m-img -y 第二步,安装好w3m之后,在终端里面启动w3m,打开一个网址,比如w3mwww.baidu.com。现在是不是看到了只有在浏览器下面才能看到的百度首页呢?如果您的终端不显示中文请。安装zhcon。安装命令:sudo apt-get install zhcon -y...
要让装好的Ubuntu子系统能够顺利运行,需要把Windows下的一些环境给配置好,否则应用商店装好打开也会报错。环境配置只有简单的几步,装Ubuntu的前后配置都可以,都测试过没有问题。1.Windows》设置》更新与安全》开发者选项,在此标签右侧设置为【开发人员模式】,然后会自动装一些东西重启之后才会生效。 2.Windows》控制面板》程序》程序和功能,在此路径安装图示开启【适用于Lin...
2019独角兽企业重金招聘Python工程师标准>>>1、首先看看自己的Ubuntu是不是已经安装或启用了ssh服务,执行ps-e|grepssh如果有sshd,证明你已经装好了ssh-server并已启用,当然就可以不用往下看了2、如果没有安装执行sudoaptinstallopenssh-server开始安装,输入yes回车sudoaptinstallopenssh-serv...
安装软件的时候出现错误,遇到包管理系统损坏的问题。在askubuntu上找到解决办法,这里进行记录总结:首先:sudoapt-get-finstall 强制安装没有下载完成的文件。然后: sudoapt-getupdate 然后:重复执行 sudoapt-get-finstall 直到只剩下导致错误的包。然后:sudodpkg--configure-a最后清空缓存即可。sudoapt-getcle...
测试职场的新人,难免都会涉及到一些Linux系统的命令操作,搭建测试环境也好,查看日志也罢,以下给大家整理初学者可能会碰到的问题,希望对大家有所帮助。Linux中输入基本操作命令例如ls,遇到报-bash:XXXX:commandnotfound错误以上报错说明依据环境变量配置内容,找不到执行该命令的文件。解决思路就是将该应用的bin目录放入到profile文件中即可。ls是系统基本应用命令,一般...
在日常开发过程中,我们或多或少都涉及到API接口的测试。例如,有的小伙伴使用Chrome的Postman插件,或者使用火狐的restclient等工具。事实上,这些工具是测试API接口非常有效的方式之一,笔者之前也一直使用Postman完成API接口的测试工作。今天,小枫推荐另外一个非常好用的小工具,能够帮助读者快速测试API接口。这个工具就是IDEA的EditorRESTClient。IDEA的...
docker运行centos7镜像,centos7中运行的tomcat无法通过外部访问。curl172.17.0.2:8080报错Noroutetohost解决方法:进入docker容器,关闭防火墙dockerexec-itbase_centos7/bin/bashsystemctlstopfirewalld如果没有systemctl权限,请使用以下命令运行容器dockerrun--privile...
DevOps目前很多大厂如阿里、腾讯、百度、头条、滴滴、美团等公司内部都在做DevOps,那么DevOps是什么?为什么都对其趋之若鹜?DevOps应该怎么做?首先我们来讲讲DevOps是什么?DevOPs是一种方法论。DevOps=Developers+Operators,即开发团队和运维团队一体化,尽可能地为公司创造更多价值。现在流行的做法是将两个职能部门的人融合为一个职能部门,实现开发运维一...
前言 本人是一名测试工程师,以下内容是工作或者学习过程中的整理归纳,方便以后回顾。 每天努力一点点,每天进步一点点,加油。 点击下面子标题,跳转进去查看具体篇章。 一、Mysql数据库 Mysql数据库学习及总结 Mysql数据库调优篇 二、软件测试 1、功能测试 功能测试_通用方法 ...
Linux系统的稳定、安全、免费、开源等特点,使其在软件行业中应用越来越广,越来越普遍。测试岗位的招聘要求中,也都会涉及要熟悉Linux命令,Linux也逐渐成为测试人员必不获取的一项技能。工作中用到的Linux远程管理工具有Xshell/PuTTY/SecureCRT等,使用最多的还是Xshell。基于Xshell,整理测试工作中常用的Linux命令,由于命令区分大小写,使用过程中一定注意。一、...
用命令弹出硬盘:1.输入:umount /dev/sdd2 ----->这里的/dev/sdd2是硬盘的挂载点,,可以通过fdisk-l 来查询挂载点2.若显示(Insomecasesusefulinfoaboutprocessesthat usethedeviceisfoundbylsof(8)orfuser(1).),说明还有设备在使用硬盘3.使用命令fuser-m-v/dev/sd...
很多人刚开始分不清这两个的关系,其实可以从首字母的大小写来方便记忆我们常见的都是Byte(字节),B为大写,而bit(比特)的b为小写。1Byte=8bit...
1.Linux下Tomcat安装,启动1.linux下安装wgethttps://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz;2.官网下载后直接上传到linux中,然后解压,官网下载地址:https://tomcat.apache.org/download-90.cgi;解压命...
理论:问:什么是版本控制,常用的版本控制系统有哪些?答:版本控制(Revisioncontrol)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。https:...
自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用。。。这时就不得不需要一些基本的Linux命令来处理遇到的这些问题1.cd命令用于切换目录(可以一级一级地切换,也可以一次性切换到指定目录)[han@56~]$cdshipping/[han@56~]$cdshipping/apache-tomcat-7.0.55/bin/[h...
目录dftopps修改网卡信息修改服务器时间free df功能:用来检查linux服务器的文件系统的磁盘空间占用情况df-h以方便阅读的方法显示df-a显示所有文件系统df-T显示文件系统类型Size分割区总容量 Used已使用的大小 Avail剩下的大小 Use%使用的百分比 Mountedon路径地址top功能:用来监控系统使用情况,如CPU、内存的使用在输入top命令之后第一行(红框)显示的...
1.man 格式化以及列出命令的(在线)操作手册。 使用方法 man [ -options ] name man man man ls man cd 2.ls 列出目录下的内容 ls [option]… [file]… ls #列出当前文件夹下的所有文档 ls -l 等同于ll #列出当前文件夹下的所有文档的详细资料 ls -al #列出当前文件...
今天整理了Linux一些常用的指令,有需要的大家看一下:1.1cd命令命令格式:cd<路径>意义:cd是changedirectory的缩写;cd命令后面跟一个路径,用于切换当前用户所在的路径,其中路径可以是绝对路径也可以是相对路径。示例:cd/system/bin表示切换到/system/bin路径下。cdlogs表示切换到logs路径下。cd/表示切换到根目录。cd../表示切换到...
这是去年别人给我讲了一遍Linux命令,我记下来的。好久没用了。记得有点杂乱,估计下次再看就已经忘记了。1.open打开堡垒机2.输入ip 192.12233445653.sudosu-。切root用户、、cd某文件夹。ls 查看当前文件夹的文件夹vim编辑文件,也可以创建文件 q!退出ps-ef|grep进程名称。查某个进程kill-9进程号(是对应的数字)。杀掉进程Ctrl+C停止进程----...
系统:Fedora35docker-composeversion:3.7本配置适用于某些image不能直接通过容器的volumes进行挂载的情况下使用(例如:bitnami/redis-cluster:6.2.6)#挂载配置volumes:test-save-data:driver:localdriver_opts:type:noneo:binddevice:./test-save-data-1#...
对于零基础同学来说,好多想从事软件测试开发,但是却不知道到底要学习些什么内容。在选择培训班时候,看课程内容也看不懂,不清楚要讲的内容是否都是有用的干货。可能,一些同学去培训机构了解的时候,咨询老师会告诉说“软件测试比学开发更简单,入门很快”。如果计算机基础比较差,逻辑性也不强,学历各方面也不高的话,建议学习软件测试。学软件测试出来的薪资待遇不比开发少,未来发展趋势也不错。你要说这些培训机构或咨询老...
CentOS7的EPEL源包含2个压力测试工具,一个是标准的stress,另一个是其升级版stress-ng。文章参考:https://kernel.ubuntu.com/~cking/stress-ng/1,安装stress-ng yuminstall-yepel-release.noarch&&yum-yupdateyuminstall-ystressstress-ng2,...
使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。catwords.txt|sort|uniq-c|sort-k1,1nr|head-10 主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上指令各部分的功能:sort: 对单词进行排序u...
Linux解压,压缩命令打包命令:tar-zcvf需要压缩的文件名称.tar.gz压缩后文件名称c:打包文件v:显示运行过程f:指定文件名解压命令:tar-xzf文件名称.tar.gz显示当前文件位置:pwd查看当前系统中运行的进程:ps-ef杀死当前进程:kill-9线程数网络通信命令:ifconfig查看网络是否正常使用:ping网址或网段查看当前系统的端口使用:netstat-an|grep...
目录什么是postman?一、接口请求流程二、postman使用GET请求示例GET响应示例POST请求示例一POST请求示例二POST请求示例三postman断言管理用例---Collections第一步,创建一个Collections第二步,往Collections里添加请求。Collection精细化---Folder运行CollectionCollection运行参数化最后什么是postm...
Docker简介:Docker是一个用于开发、迁移、运行的开发平台。它使你能够将你的应用程序从基础架构中分离,从而可以快速交付。使用Docker,你可以以与管理应用程序相同的方式来管理这些基础架构。使用Docker的方法,进行快速开发,测试,并可以显著的减少编写代码和运行之间的时间延迟。一、Docker的部署与安装1.安装docker和相关依赖性:[root@server1docker]#lsco...
(警告:切勿在没有配置DockerYUM源的情况下直接使用yum命令安装Docker.)1准备工作系统要求要安装DockerCE(社区版),操作系统的最低要求是CentOS7,7以下版本都不被支持。卸载旧版本Docker改版之前称为docker或者docker-engine,若之前安装过旧版本需要卸载,使用以下命令卸载旧版本:$sudoyumremovedockerdocker-clientdoc...
1.安装docker首先什么是Docker呢?Docker是一种虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。更多具体细节及其他系统上的安装可以参考Docker的官方安装文档。首先我们需要做一些准备工作,需要卸载已有(如果有的情况下)的docker环境,在终端输入以下命令:sudoyumremovedocker\docker-cli...
Docker简介:Docker是一个用于开发、迁移、运行的开发平台。它使你能够将你的应用程序从基础架构中分离,从而可以快速交付。使用Docker,你可以以与管理应用程序相同的方式来管理这些基础架构。使用Docker的方法,进行快速开发,测试,并可以显著的减少编写代码和运行之间的时间延迟。一、Docker的部署与安装安装docker和相关依赖性:[root@foundation19docker]#l...
先决条件nGrinder是web应用程序(控制器)和Java应用程序(代理、监视器)的组合。如果您不知道什么是控制器和代理,请参考nGrinder简介。要安装nGrinder控制器和代理,您需要OracleJDK1.6~或OpenJDK1.7~。如果您的java路径位于路径的开头,请检查PATH环境变量,以便能够运行合适的java。nGrinder使用多个端口与agent及agent进行通信。如果...
搭建步骤1、先下载包下载禅道包的地址:https://www.zentao.net/download/zentaopms12.4.3-80272.htmlLinux的版本和系统位数查询方法2.安装方法,推荐使用一键安装包,我的服务器是Cento764位禅道安装步骤,跟着官网走就行了(几乎完全傻瓜式):https://www.zentao.net/book/zentaopmshelp/90.html...
请添加图片描述WFu,size_20,color_FFFFFF,t_70,g_se,x_16)-AINPUT-ptcp-mtcp--dport8080-jACCEPT路径mysql>grantallprivileges.to‘root’@’%’identifiedby''root开启mysql远程登录权限mysql>flushprivileges冲洗权限使生效/sbin/iptable...
...
top命令是Linux下常用的性能分析工具 ,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用...
一、Shell介绍1.什么是shell脚本 Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程的程序效率更高,它使用了Linux/Unux下的命令。二、Shell脚本的规则Shell和python都是弱语言1.变量的规则定义变量规则...
...
2019独角兽企业重金招聘Python工程师标准>>>本文主要分析大概8种用例设计方法:等价类划分边界值分析错误推测因果图判定表驱动分析正交试验设计功能图分析场景设计写在前面:测试用例设计综合策略1、GlenfordJ.Myers 提出了使用各种测试方法的综合策略:1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。2)必要时用等价类...
一引言盒马业务有如下几个特点:线上线下一体化、仓储配送一体化、超市餐饮一体化、经营作业一体化、多业态与平台化。在以上的种种原因,生鲜及物流体验是盒马的特点,但仓储配送一体化作业中,如何能更高效的提升测试效率也是盒马质量团队的重点探索。二背景及待解决问题介绍1盒马自动化体系发展新挑战在盒马,前期业务在狂奔,自动化基础较薄弱,近三年来,经过盒马人的不断突破,已经具备了一定的自动化体系,因为盒马业务的特...
因果图法:概念:因果图法比较适合输条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。因果图基本图形符号恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出...
1.关闭Mysql:执行servicemysqlstop2.用安全模式启动Mysql,如果是自己通过tar包手动安装的Mysql,mysqld_safe命令在“${mysql}/bin”下mysqld_safe--skip-grant-tables执行这条命令后,当前ssh命令行会停住,如下图3.复制当前链接,再打开一个ssh连接,登录到mysql数据库直接用命令mysql,就进入了数据了,不需要...
sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法1.报错误号码2013,可能是端口号不是默认的3306,需要改成对应的,检查命令是:[root@hostetc]#netstat-an|grep330 看看有没有对应的端口号。更直接点是查看配置文件cat /etc/my.cnf(注意:在windows下是my.ini,Linux下则是my.cnf)重新测试连接...
最近新租的阿里云服务器自带的mysql数据库,想用sqlyog连接以下看看里面的东西,无奈连接的时候尽然错误,也是刚刚才玩服务器,所以折腾了半天。 先说2003错误码我的这个错误码原因是我3306端口在防火墙中没有放开,所以从阿里云控制台将3306端口放开这一步解决好了,又给我出现了一个问题 ERROR1130(HY000):Hos。。。。。。大概意思: 不能远程连接数据库,该条错误应该是该主机没...
今天安装Xampp,启动时总是报错XAMPP:StartingApache…fail.XAMPP:Anotherwebserverisalreadyrunning.看了网上的解决办法都是修改80端口,我试了以下,说我权限不够QAQ,所以换种解决方法:输入:sudoapachectlstop然后就成功了,我估计本来的端口应该是被Linux本机的apache给占用了...
Linux下安装xampp1.将准备好的安装包放入/opt下或使用wget下载2.给安装包添加权限chmod-R755xampp-linux-XXX-installer.run3.运行安装./xampp-linux-XXX-installer.run4.安装完成后尝试运行/opt/lampp/lamppstart此时出现错误xampperror:XAMPPiscurrentlyonlyavaila...