26.jenkins介绍、安装、了解

26.1 jenkins介绍php

26.2 jenkins安装html

26.3 了解jenkinsjava

 

 

 

26.1 jenkins介绍node

 

 

 

 

 

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线linux

持续集成 (Continuous integration,简称CI)git

#每一个人负责不一样的模块,最后汇总到一块儿。这个过程叫集成。集成的频率可能会不少,好比今天集成一次,明天集成两次,这回设计到工做量。可能单独的模块测试没有问题,那集成到一块儿呢,也是须要测试。而持续集成就是咱们不停的持续的去作集成web

持续交付(Continuous delivery)docker

#1.咱们把这些代码(集成的模块)交给测试人员,让他们去测试。持续交付就是不停的集成不停的去交付shell

#2.咱们把成型的产品交付给须要人员(用户)数据库

持续部署(continuous deployment)

#运维人员须要把成型的代码部署到线上去,让他提供服务

因此能够理解为先交付在部署,也能够理解为先部署在交付。由于交付有两层含义,一个交付给测试,一个交付给用户

!!!由于以上咱们要把它搞成自动化,由于太频繁了(持续的),很容易出错。咱们就可让他在后台不断的去集成、不断地去交付、不断的去部署,而Jenkins就是一个持续集成、交付、部署的工具

参考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

 

1.官网 https://jenkins.io

 

#做为领先的开源自动化服务器,Jenkins提供数百个插件来支持构建,部署和自动化任何项目(php、java均可以)。 官网用很简单的一句话解释了jenkins

2.Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。

3.Jenkins是一个工具集,提供了各类各样的插件

好比获取git上最新的代码

好比能够帮你编译源代码

好比能够调用自定义的shell脚本远程执行命令

官方文档 https://jenkins.io/doc/

 

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

26.2 jenkins安装

 

 

 

最低配置: 很多于256M内存,不低于1G磁盘,jdk版本>=8

1.安装jdk1.8

yum install -y java-1.8.0-openjdk

#java开发。图省事也能够yum一个openjdk。固然也能够根据以前学的去安装一个jdk

2.wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

# -O 在这里是定义输出文件名字。  若是不加这参数是直接把结果打印到屏幕上的。 

3.rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

#安装jenkins的一个key

4.yum install -y jenkins

#到这,就会安装一个最新的稳定版

5.systemctl start jenkins

6.less /var/log/jenkins/jenkins.log //查询admin密码

访问 http://ip:8080/ 进行安装

注意:

也能够用docker拉一个jenkins,用容器去启动它

若是使用的是ubuntu就要去jenkins官方去看怎么安装。

[root@axinlinux-01 ~]# yum install -y java-1.8.0-openjdk

[root@axinlinux-01 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

--2019-06-10 14:03:08--  https://pkg.jenkins.io/redhat/jenkins.repo
正在解析主机 pkg.jenkins.io (pkg.jenkins.io)... 52.202.51.185
正在链接 pkg.jenkins.io (pkg.jenkins.io)|52.202.51.185|:443... 已链接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:71
正在保存至: “/etc/yum.repos.d/jenkins.repo”

100%[=====================================================>] 71          --.-K/s 用时 0s      

2019-06-10 14:03:18 (10.7 MB/s) - 已保存 “/etc/yum.repos.d/jenkins.repo” [71/71])

[root@axinlinux-01 ~]# cat /etc/yum.repos.d/jenkins.repo #能够cat一下咱们指定输出的文件。也就是说上一步的wget就是生成了这个文件(在咱们-O指定的目录里)。不wget的话也能够直接编辑这个文件

[jenkins]

name=Jenkins

baseurl=http://pkg.jenkins.io/redhat

gpgcheck=1

[root@axinlinux-01 ~]# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key #由于上面的配置文件gpgcheck=1,须要安装jenkins的key

[root@axinlinux-01 ~]#yum install -y jenkins

[root@axinlinux-01 ~]# systemctl start jenkins

[root@axinlinux-01 ~]# less /var/log/jenkins/jenkins.log #找到初始化的密码

Running from: /usr/lib/jenkins/jenkins.war
2019-06-10 07:50:23.695+0000 [id=1]     WARNING winstone.Logger#logInternal: Parameter handlerCountMax is now deprecated
2019-06-10 07:50:23.696+0000 [id=1]     WARNING winstone.Logger#logInternal: Parameter handlerCountMaxIdle is now deprecated
2019-06-10 07:50:24.079+0000 [id=1]     INFO    org.eclipse.jetty.util.log.Log#initialized: Logging initialized @1992ms to org.eclipse.jetty.util.log.JavaUtilLog
2019-06-10 07:50:24.804+0000 [id=1]     INFO    winstone.Logger#logInternal: Beginning extraction from war file
2019-06-10 07:50:33.147+0000 [id=1]     WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2019-06-10 07:50:33.329+0000 [id=1]     INFO    org.eclipse.jetty.server.Server#doStart: jetty-9.4.z-SNAPSHOT; built: 2019-05-02T00:04:53.875Z; git: e1bc35120a6617ee3df052294e433f3a25ce7097; jvm 1.8.0_212-b04
2019-06-10 07:50:34.622+0000 [id=1]     INFO    o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2019-06-10 07:50:34.769+0000 [id=1]     INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
2019-06-10 07:50:34.769+0000 [id=1]     INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
2019-06-10 07:50:34.786+0000 [id=1]     INFO    o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 600000ms
Jenkins home directory: /var/lib/jenkins found at: SystemProperties.getProperty("JENKINS_HOME")
2019-06-10 07:50:38.146+0000 [id=1]     INFO    o.e.j.s.handler.ContextHandler#doStart: Started/

This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword #也能够到这去找

http://192.168.193.125:8080 #能够直接在浏览器访问了

 

以上用360浏览器不成功。使用谷歌浏览器

 

接下来,他会按照本身的推荐去安装插件。以后的过程看下张

26.3 了解jenkins

 

 

安装完插件就会建立用户

 

 

 

而后再回到linux服务器上

[root@axinlinux-01 ~]# vim /etc/sysconfig/jenkins #jenkins配置文件。如下简单讲解一下

JENKINS_HOME="/var/lib/jenkins" #home,就是jenkins程序放到了哪

JENKINS_JAVA_CMD="" #cmd,保持默认

JENKINS_USER="jenkins" #哪一个用户启动的

JENKINS_HOME="/var/lib/jenkins"

## Type:        string
## Default:     ""
## ServiceRestart: jenkins
#
# Java executable to run Jenkins
# When left empty, we'll try to find the suitable Java.
#
JENKINS_JAVA_CMD=""

## Type:        string
## Default:     "jenkins"
## ServiceRestart: jenkins
#
"/etc/sysconfig/jenkins" 144L, 3116C

[root@axinlinux-01 ~]# cd /var/lib/jenkins/ #jenkins程序主目录

[root@axinlinux-01 jenkins]#

[root@axinlinux-01 jenkins]# ls

config.xml                           logs                      secrets
hudson.model.UpdateCenter.xml        nodeMonitors.xml          updates
identity.key.enc                     nodes                     userContent
jenkins.install.UpgradeWizard.state  plugins                   users
jenkins.telemetry.Correlator.xml     secret.key
jobs                                 secret.key.not-so-secret

 

[root@axinlinux-01 jenkins]# ls jobs/ #jobs目录就是浏览器上建立的任务。好比建立一个任务叫axin,在这个jobs目录下就会有一个axin的目录 常关注的!!

[root@axinlinux-01 jenkins]# ls logs/ #logs是日志相关

tasks

[root@axinlinux-01 jenkins]# ls nodes/ #多节点的时候用到的

[root@axinlinux-01 jenkins]# ls plugins/ #插件所在的目录。也是很是重要的目录。好比你先加一个插件,这个插件就存在这个目录里 常关注的!!

[root@axinlinux-01 jenkins]# ls secrets/ #密码密钥相关的

filepath-filters.d
initialAdminPassword
jenkins.model.Jenkins.crumbSalt
master.key
org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY
slave-to-master-security-kill-switch
whitelisted-callables.d

[root@axinlinux-01 jenkins]# ls updates/ #升级相关的

default.json  hudson.tasks.Maven.MavenInstaller

[root@axinlinux-01 jenkins]# ls users/ #用户相关的,好比我建立了一个admin,就会存在这个目录下

admin_2141142232249431003  users.xml

 

若是,咱们想要备份jenkins。就能够直接把jenkins目录(/var/lib/jenkins)所有考走,到新的机器上就能够了。jenkins不须要借助数据库存储数据。他的配置所有存在了.xml这样的文件里

相关文章
相关标签/搜索