Jenkins 从入门到实践

最近在公司做的 Jenkins 入门介绍

Jenkins 从入门到实践


持续集成/持续交付/持续部署

image

Note:
持续集成是是一种软件开发实践,指开发阶段对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。
持续集成的优点:

  • 快速响应:快速失败,降低修复成本
  • 状态透明:提高工程健康状况能见度
  • 频繁部署:自动化繁杂的手工流程,加快交付速度

Jenkins

<iframe width="560" height="315" src="https://www.youtube.com/embed/VeoLZq2E2JQ?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Note:
Jenkins 是一个可扩展的 CI 引擎。原名 Hudson
是 Java 编写的本地开源软件
是安装配置和使用最简单的 CI 产品之一


安装部署


安装

  • Windows:直接下载安装包
  • Linux:使用包管理工具
  • Docker:使用现成镜像

Note:
默认情况下,Windows 上使用 system 用户运行(可在系统服务管理中修改),
Linux 上使用 jenkins 用户运行(可通过配置文件修改)
Linux 下需要预先安装 JRE 或 JDK


目录结构

JENKINS_HOME
 +- config.xml     (jenkins root configuration)
 +- *.xml          (other site-wide configuration files)
 +- userContent    (files in this directory will be served under your http://server/userContent/)
 +- fingerprints   (stores fingerprint records)
 +- plugins        (stores plugins)
 +- workspace (working directory for the version control system)
     +- [JOBNAME] (sub directory for each job)
 +- jobs
     +- [JOBNAME]      (sub directory for each job)
         +- config.xml     (job configuration file)
         +- latest         (symbolic link to the last successful build)
         +- builds
             +- [BUILD_ID]     (for each build)
                 +- build.xml      (build result summary)
                 +- log            (log file)
                 +- changelog.xml  (change log)

Note:
备份与迁移: Just copy $JENKINS_HOME


基本操作


首页一览

  • 任务列表和视图
  • 构建状态和队列

Note:
AJAX 即时反馈


系统管理

  • 全局配置
  • 权限验证
  • 插件系统
  • 脚本操作
  • 集群管理

Note:
捋一遍 Manage Jenkins 界面上的选项


Freestyle 任务

  • 触发构建
  • 获取代码
  • 执行流程
  • 结果通知

Pipeline 任务

Jenkins 2.0 的核心特性,为了更好地实现 CD

Note:
Pipeline 就是流水线


Pipeline as Code

  • Groovy DSL
  • 声明式语法
  • 脚本式语法

Note:
举个🌰
带你玩转 Pipeline


Multibranch Pipeline

Note:
Git Plugin 3.6 之后支持按 tag 构建


Jenkinsfile

  • 可以自动创建各 Branch/Tag/PR 的 Pipeline
  • 可签入代码版本管理,便于审查和跟踪
  • Single source of truth

Note:
可在系统配置里设置环境变量


小技巧

  • Snippet Generator
  • Replay
  • Global Pipeline Libraries

Blue Ocean

为 Pipeline 设计的全新界面,易上手,更清晰

  • 可视化
  • 个性化
  • GitHub 集成

The End

构建流程是开发的,也是运维的,但是归根结底是开发的

Note:
DevOps 上还是有很长的路要走

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容