一、Jenkins介绍

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins功能包括:

1、持续的软件版本发布/测试项目。

2、监控外部调用执行的工作。

特点:

1. jenkins就是基于Java开发的一种持续集成的工具

2. 可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且也可以实现和gitlab、github交互,也可以实现自动编译、部署程序等。

二、持续集成

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

持续集成:Continuous Intergration (CI)

持续交付:Continuous Delivery(CD)

持续部署:Continuous Deployment(CD)

持续集成流程

1. 提交(git)

2. 测试

3. 构建(jenkins)

4. 测试

5. 部署(ansible,shell,puppet)

6. 回滚(ansible)

三、Jenkins的安装

jenkins是基于java开发的,所以需要安装java环境

jenkins提供了一个友好的web界面操控,安装完成之后我们可以在web端进行管理

可以在网站pkg.jenkins.io下载所需要的jenkins版本

http://pkg.jenkins.io/

第一步:检查环境

[root@ren5 ~]# getenforce

Disabled

[root@ren5 ~]# systemctl status firewalld

第二步:安装Java环境(用本地的yum仓库1.8版本)

[root@ren5 ~]# yum -y install java

第三步:上传安装包及解压

[root@ren5 ~]# ls

anaconda-ks.cfg  jenkins-2.32.3-1.1.noarch.rpm

[root@ren5 ~]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm

第四步:启动Jenkins

Jenkins默认监听8080端口

[root@ren5 ~]# netstat -anp |grep Jenkins          #查不到监听的端口号

[root@ren5 ~]# ps aux |grep Jenkins           #先查看Jenkins的PID

[root@ren5 ~]# netstat -anp |grep 9333              #在查看进程号对应监听的端口号

tcp6       0      0 :::8080                 :::*                    LISTEN      9333/java

tcp6       0      0 :::44035                :::*                    LISTEN      9333/java

添加防火墙:

[root@ren5 ~]# firewall-cmd --add-port=8080/tcp

success

[root@ren5 ~]# firewall-cmd --add-port=8080/tcp --permanent

success

第五步:浏览器访问

注意:安装jenkins会卡在安装界面

原因:当前主机尝试连接jenkins官方站点,但是无法连接上

解决:断开当前主机的网络连接

第六步:linux中找到第五步中提到的密码路径并复制

[root@ren4 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword

d9ebeb586e594011b23139ac721e57d8

密码复制成功后进入安装界面

选择跳过插件安装

创建用户和密码

  出现如下界面直接保存并完成

点下面出现的开始使用Jenkins

出现如下界面表示安装配置完成

第七步:Jenkins获取插件并安装

1、查看插件信息(系统管理——插件管理)

注意:下载插件之前可以在系统管理>关于jenkins查看自己的jenkins版本信息

2、下载插件(访问网站updates.jenkins-ci.org,选择你的jenkins版本)

选择latest,选择需要安装的插件,插件都是以hpi结尾的

3、把下载的插件传入到你的linux系统中

需要把插件传到jenkins的插件目录中即下面的目录下

[root@ren4 ~]# mv plugins.tar.gz /var/lib/jenkins/plugins/

[root@ren4 ~]# cd /var/lib/jenkins/plugins/

[root@ren4 plugins]# ls

plugins.tar.gz

[root@ren4 plugins]# tar xf plugins.tar.gz

[root@ren4 plugins]# cp -a plugins/* .

4、重启Jenkins

[root@ren4 plugins]# systemctl restart jenkins

5、浏览器端查看

需要刷新一下浏览器,可能还需要你重新输入账号和密码

可以看到在已安装里面已经有很多的插件了

第八步:Jenkins版本更新

1、下载安装更新的软件包(访问网站updates.jenkins-ci.org,选择需要升级到的版本)

选择latest,选择war结尾的包下载

2、把本机需要升级的war包删掉

3、替换成下载的包

4、重启Jenkins

四、Jenkins凭证介绍

有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等。

此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用。通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定”Jenkins可用的应用程序功能区域。一旦 Jenkins 管理员(即管理 Jenkins 站点的 Jenkins 用户)在 Jenkins 中添加/配置这些凭证,Pipeline 项目就可以使用凭证与这些第三方应用程序进行交互。

Jenkins 中保存的凭证可以用于:

任何适用于 Jenkins 的任何地方(即全局证书)

特定的 Pipeline 项目

特定的 Jenkins 用户

Jenkins凭证的创建:

第一步:创建凭证

进入你的jenkins的首页,点击左边栏的凭证(Credentials)

第二步:点击全局凭据

第三步:点击 添加一些凭据

第四步:输入信息

在出现的对话框中输入你的信息点击确定即可

第五步:首页查看

五、新建任务

所谓的任务可以理解为:需要执行的一系列动作。

第一步:点击新建任务

第二步:输入要创建的任务名称

输入完成点击下方的确定即可

注意:名称不能有空格

第三步:填写你需要看到的信息

在参数构建过程中参数有:文本参数和选项参数

第四步:git获取项目

URL输入你的项目地址

凭证哪里添加可以获取到你的项目的用户和用户名

branch哪里添加分支

第五步:构建

就是把你的命令添加在这里即可

在shell中添加如下内容并保存即可

第六步:构建参数

如果你选择了选项参数,在这个任务界面就可以看到这个选项

点开这个,就会看到我们刚才输入的type以及auto了(忘记了请往上翻一下哦)

第七步:返回结果

如果执行成功了左下角的圆圈就是蓝色的

执行失败了就是红色

鼠标放上去也会看到提示信息的

第八步:查看执行过程

第一列:的/var/lib/jenkins/workspace/test_for_block 是echo 的结果,表示jenkins现在工作目录是在你的任务名称下的

第二列:显示当前所在的目录,其实可以发现我们现在就处在自己的新建任务的同名目录中

第三列:进入到工作目录,即当下

第四列:给我们展示了当前目录下的所有文件,可以看到我们远程仓库中的文件已经被拉取到了当前文件夹下

六、pipeline结构介绍

层级结构

第一层:pipline,这是最外层

第二层:stages,这层是用来完成一个特定的工作,其中有一个或者多个子层,每个子层是一个stage

第三册:stage,这是stages的子层

第四层:steps,这层是定义具体要执行的操作

区域:

1.  agent:定义当前的job运行在哪个jenkins节点上

any:

none:

node:

agent {node {label 'ser1'}}

agent any

2. environment:定义环境变量

格式:变量名=变量值

3. script:可选的

4. steps:借助于特定的jenkis模块来完成特定的工作

echo

sh

git

pipeline演示

第一步:新建任务

选择流水线

第二步:编写pipeline

可以发现这里面的界面比我们之前选择的freestyle界面简洁的多

在这里填写你的pipeline保存即可

第三步:构建

点击立即构建即可

第四步:查看执行结果

可以发现执行成功

pipeline的功能很多,在接下来的博客当中会使用pipeline完成动态网站的持续集成部署。

Linux进阶之Jenkins持续集成介绍及安装演示的更多相关文章

  1. Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02

    1.      Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求, ...

  2. Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken

    Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: ...

  3. jenkins 持续集成笔记1 --- 安装配置

    jenkins 安装 先安装Tomcat,然后下载jenkins war包,启动Tomcat即可 wget https://mirrors.huaweicloud.com/apache/tomcat/ ...

  4. Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  5. Jenkins持续集成企业实战系列之Jenkins手动构建-----04

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  6. Jenkins持续集成企业实战系列之Jenkins配置演示-----03

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  7. Jenkins持续集成企业实战系列之两种网站部署的流程-----01

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  8. jenkins持续集成工作原理、功能、部署方式等介绍

    超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 j ...

  9. Jenkins持续集成学习-搭建jenkins问题汇总

    目录 Jenkins持续集成学习5-搭建jenkins问题汇总 目录 前言 问题列表 nuget还原包问题 编译问题 SVN更新问题 参考文档 Jenkins持续集成学习5-搭建jenkins问题汇总 ...

随机推荐

  1. 16. Vue2.4+新增属性$attrs

    vm.$attrs简介 首先我们来看下vue官方对vm.$attrs的介绍: 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外).当一个组件没有声明 ...

  2. 浅入Kubernetes(12):Deployment 的升级、回滚

    目录 更新 上线 会滚 缩放 Deployment 直接设置 Pod 水平自动缩放 比例缩放 暂停 Deployment 上线 本篇内容讨论 Pod 的更新和回滚,内容不多. 更新 打开 https: ...

  3. Jmeter(四十三) - 从入门到精通高级篇 - Jmeter之IP伪装和欺骗(详解教程)

    1.简介 我们从小接受的教育就是不要撒谎,要做一个诚实的孩子,但是在现实生活中有时候说一个善意的谎言也不是可以的.这里由于服务器各种安全机制的限制和校验,因此我们不得不欺骗一下服务器,今天宏哥就给大家 ...

  4. 机器人走方格-51nod解题

    M * N的方格,一个机器人从左上走到右下,只能向右或向下走. 有多少种不同的走法? 注意:给定 M, N 是一个正整数. 示例 输入: 1行, 2个数M,N,中间用空格隔开.(2 <= m,n ...

  5. Spring Cloud & Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)

    目录 一. Sentinel概念 1. 什么是Sentinel? 2. Sentinel功能特性 3. Sentinel VS Hystrix 二. Docker部署Sentinel Dashboar ...

  6. docker日志设置

    最近查看docker日志的时候,使用命令docker log -f 会出现日志无限翻滚的情况,这些日志都是打印到控制台的,但是都被docker收集了起来,放到了/var/lib/docker/cont ...

  7. 【推荐】Excel在线转其他格式(json/sql/xml...)

    https://tableconvert.com/?output=asp 文件导入功能不好用,直接粘贴表格内容(加表头),然后无敌好用!可转化各种格式. 看看这个SQL语句,感动了

  8. OD调试程序常用断点大全

    常用断点  拦截窗口:  bp CreateWindow 创建窗口  bp CreateWindowEx(A) 创建窗口  bp ShowWindow 显示窗口  bp UpdateWindow 更新 ...

  9. PWD 好网站

    http://angelboy.logdown.com/ https://wizardforcel.gitbooks.io/sploitfun-linux-x86-exp-tut/content/ h ...

  10. 二、postman断言及正则表达式取值

    postman老式断言与新式断言总结:本文以微信开发者文档为例 断言处如图所示 一.老式断言 老式断言总结:var variables相当于代码中定义的变量,test['']=true;相当于pyth ...