美文网首页
Jenkins 从入门到实践

Jenkins 从入门到实践

作者: 08e91ec82bed | 来源:发表于2018-03-08 06:55 被阅读131次

    最近在公司做的 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 上还是有很长的路要走

    相关文章

      网友评论

          本文标题:Jenkins 从入门到实践

          本文链接:https://www.haomeiwen.com/subject/qnvdfftx.html