Jenkins的安装和简单使用

一、DevOpe

Jenkins的安装和简单使用_第1张图片
devop工作流

敏捷开发

  • 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

持续集成

  • 持续集成(Continuous Integration)简称CI,持续集成强调开发人员提交了新代码之后,立刻自动的进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
  • 持续集成过程中很重视自动化测试验证结果,对可能出现的一些问题进行预警,以保障最终合并的代码没有问题。

持续交付

  • 持续交付CD(Continuous Delivery)基本概念持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
  • 持续交付并不是指软件每一个改动都要尽快部署到产品环境中,它指的是任何的代码修改都可以在任何时候实施部署。

持续部署

  • 持续部署(Continuous Deployment)是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。
  • 持续部署是自动的持续部署是持续交付的最高阶段。
  • 持续交付与持续部署的关系有时候会混淆。持续部署意味着所有的变更都会被自动部署到生产环境中。持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。如果要实施持续部署,必须先实施持续交付。持续交付表示的是一种能力,而持续部署则是一种方式。

DevOps 工作流

Jenkins的安装和简单使用_第2张图片
DevOps 能力环
  • DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
  • 它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
  • 通过在共同的业务目的情境中让开发和运维角色与流程变的一致,DevOps 有助于促进 IT 的统一。开发和运维都需要明确,自己是统一业务流程的一份子。DevOps 思维确保了无论组织结构是怎样的,个体决策与行为需要尽力为统一的业务流程提供支持和促进作用。

实现DevOps需要工具

工具链的打通,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下:

代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
构建工具:Ant、Gradle、maven
自动部署:Capistrano、CodeDeploy
持续集成(CI):Bamboo、Hudson、Jenkins
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk
压力测试:JMeter、Blaze Meter、loader.io
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker

二Jenkins简易安装使用

1、Jenkins是什么

  • Jenkins是一款开源CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件.Jenkins支持各种运行方式,可通过系统包,Docker或者通过一个独立的Java程序.
Jenkins的安装和简单使用_第3张图片
image.png

2、安装Jenkins

  • 因为Jenkins是java研发,所以安装时候首先安装jdk
#安装jdk8
[root@node-60 ~]# yum install java-1.8.0-openjdk-devel -y

Jenkins下载地址https://jenkins.io/download/

  • 这里我们使用rpm安装方式,也可以下载使用war包,但要部署tomcat,把war文件放到tomcat目录中部署。

部署方法一:rpm方式

#下载Jenkins,安装文件比较大
[root@node-61 ~]# wget https://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.150.1-1.1.noarch.rpm

#安装
[root@node-61 ~]# rpm -ivh jenkins-2.150.1-1.1.noarch.rpm

#启动Jenkins
[root@node-61 ~]# systemctl start jenkins
[root@node-61 ~]# ss -tnl
State      Recv-Q Send-Q Local Address:Port                Peer Address:Port                      
LISTEN     0      50                :::8080                          :::*  

部署方法二:war+Tomcat方式

#安装tomcat
[root@node-61 ~]# yum install tomcat -y

#下载war文件到tomcat目录中,war文件会自动展开
[root@node-61 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.150.2/jenkins.war -P /usr/share/tomcat/webapps/

#启动tomcat
[root@node-61 ~]# systemctl start tomcat
[root@node-61 ~]# ss -tnl
State      Recv-Q Send-Q Local Address:Port                Peer Address:Port              
LISTEN     0      100               :::8080                          :::*     

登录管理页面,并在提升路径找到解锁密码

Jenkins的安装和简单使用_第4张图片
解锁Jenkins

Jenkins的安装和简单使用_第5张图片
选择安装

[图片上传失败...(image-c25602-1550412947501)]


Jenkins的安装和简单使用_第6张图片
插件管理

Jenkins的安装和简单使用_第7张图片
系统管理中报错

修复报错

#编辑配置文件
[root@node-61 ~]# vim /etc/tomcat/server.xml 
..........
       #添加
#重启tomcat
[root@node-61 ~]# systemctl restart tomcat

全局工具配置

Jenkins的安装和简单使用_第8张图片
全局工具配置
#安装maven和docker,也可以在Jenkins管理页面中选择自动安装
[root@node-61 ~]# yum install maven docker git -y

#查询版本和路径
[root@node-61 ~]# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
[root@node-61 ~]# which java
/usr/bin/java

[root@node-61 ~]# mvn -v
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_191, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.1.3.el7.x86_64", arch: "amd64", family: "unix"

[root@node-61 ~]# docker -v
Docker version 1.13.1, build 07f3374/1.13.1
[root@node-61 ~]# which docker
/usr/bin/docker
Jenkins的安装和简单使用_第9张图片
jdk手动设置路径

Jenkins的安装和简单使用_第10张图片
git已经安装,所以自动使用默认路径

Jenkins的安装和简单使用_第11张图片
手动设置maven和docker路径

Jenkins的安装和简单使用_第12张图片
安装一个插件

Jenkins的安装和简单使用_第13张图片
插件的安装

3、使用Jenkins构建一个简单的任务

Jenkins的安装和简单使用_第14张图片
选择

Jenkins的安装和简单使用_第15张图片
新建一个任务名字

Jenkins的安装和简单使用_第16张图片
git的url

Jenkins的安装和简单使用_第17张图片
项目源代码的管理,需要账号密码

Jenkins的安装和简单使用_第18张图片
构建触发器

Jenkins的安装和简单使用_第19张图片
自定义脚本

在另一台节点安装tomcat,并修改访问权限

[root@node-60 ~]#  yum install java-1.8.0-openjdk-devel -y
[root@node-60 ~]#  yum install tomcat  -y
[root@node-60 ~]# yum install tomcat-admin-webapps -y

#添加管理用户
[root@node-60 ~]# vim /etc/tomcat/tomcat-users.xml 

................
 


[root@node-60 ~]# tomcat version
Server version: Apache Tomcat/7.0.76
Server built:   Oct 16 2018 09:15:49 UTC
Server number:  7.0.76.0
OS Name:        Linux
OS Version:     3.10.0-693.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_191-b12
JVM Vendor:     Oracle Corporation

#启动tomcat
[root@node-60 ~]# systemctl start tomcat

Jenkins的安装和简单使用_第20张图片
构建后的操作
Jenkins的安装和简单使用_第21张图片
执行构建

Jenkins的安装和简单使用_第22张图片
构建成功
Jenkins的安装和简单使用_第23张图片
构建完成,太阳代表构建成功,多云代表所有构建中有几次是失败的,阴雨是构建错误失败

构建的war文件就会传递到目标主机的目录下,并自动展开
Jenkins的安装和简单使用_第24张图片
构建成功后访问目标主机测试网页

4、使用参数,进行回滚操作

  • 使用参数来标记每个版本,便于版本控制,利用参数进行回滚操作
#克隆下来
[root@node-61 ~]# git clone https://github.com/mageedu/spring-boot-web-jsp.git
[root@node-61 ~]# cd spring-boot-web-jsp/

#查询github上的版本
[root@node-61 spring-boot-web-jsp]# git tag -l 
0.2
0.4
0.5
1.0
1.1
1.2
8.0
8.1

Jenkins的安装和简单使用_第25张图片
修改构建设置
Jenkins的安装和简单使用_第26张图片
选择参数化构建

Jenkins的安装和简单使用_第27张图片
选择参数

Jenkins的安装和简单使用_第28张图片
参数构建设置

Jenkins的安装和简单使用_第29张图片
源码管理的高级设置
Jenkins的安装和简单使用_第30张图片
image.png

Jenkins的安装和简单使用_第31张图片
回滚到1.2版本

参考链接:
DevOps 详解参考: https://www.infoq.cn/article/detail-analysis-of-devops
https://blog.csdn.net/CrankZ/article/details/81545439
https://www.cnblogs.com/liufei1983/p/7152013.html

你可能感兴趣的:(Jenkins的安装和简单使用)