小白到运维工程师自学之路 第七十八集 (安装Jenkins)

一、环境概述

        随着软件开发需求及复杂度的不断提高,团队开发成员之间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作;并且持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降;持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间;持续集成也意味着开发、集成、测试、部署得以持续。所以,当配置完Jenkins 持续集成持续交付环境后,就可以把发布的任务交给集成服务器去打理了。使用 Maven(Ant) 等来实现 Java 项目自动化构建发布部署。这些工具可以帮助在构建过程中实现自动化发布、回滚等动作。

二、Jenkins简介

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第1张图片

 

Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目独立。官方网站:https://jenkins.io/。

Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、SubversionGit、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。

Jenkins 能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能, 还能用图表的形式,形象地展示项目构建的趋势和稳定性。

Jenkins 包含以下几个特点:

  1. 易安装:仅仅一个 jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,

更无需安装数据库;

  1. 易配置:提供友好的 GUI 配置界面;
  2. 变更支持:Jenkins 能从代码仓库(SVN /Git)中获取并产生代码更新列表,并输出到编译输出信息中;
  3. 支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 页面的链接地址都是永久链接地址,可以在各种文档中直接使用该链接;
  4. 集成 E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时收取集成结果(构建一次集成需要花费一定时间,有了这个功能,就可以在等待结果过程中,干别的事情);
  5. JUnit/TestNG 测试报告:也就是用以图表等形式提供详细的测试报表功能;
  6. 支持分布式构建:Jenkins 可以把集成构建等工作分发到多台计算机中完成;
  7. 文件指纹信息:Jenkins 会保存构建集成所产生的 jars 文件、集成构建使用了哪个版;
  8. 支持第三方插件:Jenkins 支持第三方插件,这使得 Jenkins 功能变得越来越强大。

三、持续集成

        持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。

        这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。

        持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第2张图片

 

 持续集成主要是强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。简单来讲就是:频繁地(一天多次)将代码集成到主干。

四、安装配置Jenkins

systemctl stop firewalld
iptables -F
setenforce 0

安装java
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

清华大学开源软件镜像站:Index of /jenkins/redhat/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 

这里下载最新的

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第3张图片

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第4张图片

yum -y install jenkins-2.419-1.1.noarch.rpm
jenkins start                        启动命令

这里需要再开一个终端,进行后续的操作

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第5张图片

netstat -anptl

访问192.168.77.17

输入安装时提供的密码

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第6张图片

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第7张图片

等待安装插件

创建一个账户

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第8张图片 

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第9张图片 

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第10张图片

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第11张图片

 小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第12张图片

 五、配置文件说明

grep "^[a-Z]" /usr/share/jenkins/migrate
set -e
die() {
usage() {
NEW_JAVA_OPTS_DEFAULT="-Djava.awt.headless=true"   
NEW_JENKINS_DEBUG_LEVEL_DEFAULT="5"
NEW_JENKINS_GROUP_DEFAULT="jenkins"
NEW_JENKINS_HOME_DEFAULT="/var/lib/jenkins"                   //工作目录
NEW_JENKINS_LOG_DEFAULT="/var/log/jenkins/jenkins.log"
NEW_JENKINS_MAXOPENFILES_DEFAULT="8192"
NEW_JENKINS_PORT_DEFAULT="8080"                               //端口
NEW_JENKINS_USER_DEFAULT="jenkins"                            //启动用户
NEW_JENKINS_WAR_DEFAULT="/usr/share/java/jenkins.war"
NEW_JENKINS_WEBROOT_DEFAULT="/var/cache/jenkins/war"
NEW_JAVA_HOME=""
NEW_JAVA_OPTS="${NEW_JAVA_OPTS_DEFAULT}"
NEW_JENKINS_DEBUG_LEVEL="${NEW_JENKINS_DEBUG_LEVEL_DEFAULT}"
NEW_JENKINS_ENABLE_ACCESS_LOG=false
NEW_JENKINS_GROUP="${NEW_JENKINS_GROUP_DEFAULT}"
NEW_JENKINS_HOME="${NEW_JENKINS_HOME_DEFAULT}"
NEW_JENKINS_HTTP2_LISTEN_ADDRESS=""
NEW_JENKINS_HTTP2_PORT=""
NEW_JENKINS_HTTPS_KEYSTORE=""
NEW_JENKINS_HTTPS_KEYSTORE_PASSWORD=""
NEW_JENKINS_HTTPS_LISTEN_ADDRESS=""
NEW_JENKINS_HTTPS_PORT=""
NEW_JENKINS_JAVA_CMD=""
NEW_JENKINS_LISTEN_ADDRESS=""
NEW_JENKINS_LOG="${NEW_JENKINS_LOG_DEFAULT}"
NEW_JENKINS_MAXOPENFILES="${NEW_JENKINS_MAXOPENFILES_DEFAULT}"
NEW_JENKINS_OPTS=""
NEW_JENKINS_PORT="${NEW_JENKINS_PORT_DEFAULT}"
NEW_JENKINS_PREFIX=""
NEW_JENKINS_UMASK=""
NEW_JENKINS_USER="${NEW_JENKINS_USER_DEFAULT}"
NEW_JENKINS_WAR="${NEW_JENKINS_WAR_DEFAULT}"
NEW_JENKINS_WEBROOT="${NEW_JENKINS_WEBROOT_DEFAULT}"
has_prefix=false
read_old_options() {
migrate_options() {
main() {
main "$1"
exit 0

小白到运维工程师自学之路 第七十八集 (安装Jenkins)_第13张图片

以上就是jenkins的安装

如有错误欢迎各位大佬批评指正,我们共同进步

 

 

你可能感兴趣的:(运维,jenkins)