热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Jenkins详细教程

本文由编程笔记#小编为大家整理,主要介绍了Jenkins详细教程相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了Jenkins详细教程相关的知识,希望对你有一定的参考价值。







一、Jenkins是什么?

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。


二、CI/CD是什么?

CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。

Jenkins详细教程

CI

CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。

Jenkins详细教程

CI/CD


三、Jenkins搭建



操作系统版本:CentOS Linux release 7.2.1511 (Core)


本次需要安装的软件列表:



  • JDK


  • Maven


  • Jenkins


  • Git


  • GitLab



1、JDK

参考:Linux 安装 Java


2、Maven

参考:Linux 安装 Maven


3、Git

开始安装git所需要的依赖包




yum -y install curl-devel gettext-devel expat-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

下载Git源码包




cd /usr/local/git
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
tar -zxvf git-2.9.5.tar.gz
cd git-2.9.5
./configure --prefix=/usr/local
make
sudo make install
git --version

4、Jenkins

安装




sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins


配置文件

配置文件在 /etc/sysconfig/jenkins,可以修改端口、jdk:




sudo vim /etc/sysconfig/jenkins
## JENKINS_PORT="8080"
## JENKINS_JAVA_CMD="/usr/local/java/jdk1.8.0_131/bin/java"

启动




sudo service jenkins start
## sudo service jenkins start/stop/restart/status

访问

初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

Jenkins详细教程

初始密码

选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。

Jenkins详细教程

安装插件1

Jenkins详细教程

正在安装

Jenkins详细教程

设置管理员账号密码

Jenkins详细教程

Jenkins详细教程

开始使用

输入账号密码登录。

安装插件

Jenkins详细教程

插件管理

Jenkins详细教程

可选插件

安装SSH、Publish Over SSH,用于ssh连接的:

Jenkins详细教程

ssh连接

安装GitLab为git客户端从git主库取代码:

Jenkins详细教程

gitlab插件

安装blue ocean插件,是一个界面显示插件:

Jenkins详细教程

界面显示插件

安装Maven Integration plugin 编译打包:

Jenkins详细教程

2121.jpg

重启后登录Jenkins

创建Job

Jenkins详细教程

创建Job

Jenkins详细教程

源码管理

Jenkins详细教程

凭证

认证类型可选:
Username with password : 填写用户名密码。
SSH Username with private key : 需要生成公私钥,执行ssh-keygen -t rsa后,连续三个回车,会在用户根目录下生成id_rsa私钥和id_rsa.pub公钥,分别到Jenkins Web(私钥)和Gitlab Web(公钥)配置。

Jenkins详细教程

生成公私钥

Jenkins详细教程

ssh文件

拉取代码,到本地:

Jenkins详细教程

拉取代码

拉取失败问题

1、拉取超时问题?

通过配置“源码管理-git-Additional Behaviours”中的Advanced clone behaviours:

Shallow clone:勾选后不获取历史版本;

Timeout (in minutes) for clone and fetch operation:配置后覆盖默认的超时时限。


5、Jenkins 节点

什么是Jenkins节点?

节点是Jenkins任务执行的具体环境,通常在安装Jenkins这台服务器默认就是一个主节点(俗称master),其他相对于这台安装Jenkins的机器都称为从节点(俗称slaves)。

为什么要配置节点?

同一时间需要多台机器来执行Jenkins任务,比如需要将产品部署到100台服务器,那么这100台服务器必须纳入到Jenkins管理的节点里才可以通过Jenkins管理;

不同的Jenkins任务有不同的操作环境需求,比如部署基于IIS服务的需要windows操作系统,构建ios应用需要MacOs,构建脚本是shell的需要Linux操作系统;

所以为了满足任务执行需求,需要准备不同操作系统的节点。

配置节点



以添加windows为例


a.准备一台windows服务器,安装jdk;

b.登录Jenkins管理端,进入[系统管理>节点管理>新建节点];

Jenkins详细教程

新建节点

c.配置节点信息,主要是红框中的设置,标签设置的内容后面要用到;

Jenkins详细教程

节点信息

保存后返回节点列表,X号表示刚才添加的节点未运行;

Jenkins详细教程

节点列表

d.点击刚才添加的节点,提供了两种方式运行节点;

Jenkins详细教程

启动节点

Jenkins详细教程

第一种方式

Jenkins详细教程

第二种方式

e.创建自由风格的JOB,选择“限制项目的运行节点”;

Jenkins详细教程

选择节点

在【构建】中执行windows脚本:

Jenkins详细教程

windows脚本







Jenkins详细教程Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 


Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 Jenkins详细教程 






欢迎同学们扫描二维码报名吧!













软件测试面试汇总




IT测试人的自媒体


QQ : 869120106











长按二维码关注吧











一起成长,一起分享,希望能对您有所帮助,我们是TestMadman,期待您的关注



推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
author-avatar
爱飞扬无限_316
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有