跳至主要內容

Jenkins

酷风大约 2 分钟

Jenkins

介绍

  • Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

  • 特性

    • CI&CD
    • 易于安装部署及配置,web界面
    • 分布式构建:多个节点一起构建
    • 丰富的插件
    • ??? 消息通知,测试报告
    • ??? 文件识别

  • Item 任务/项目
    • 任务名称
      • Freestyle Project 自由风格的项目
        • 配置
          • SCM 源代码管理
          • 凭据
            • Username with password
            • SSH Username with private key
          • 构建步骤
            • Execute shell 执行shell
            • ...
      • Pipeline 流水线
        • 流水线配置,1,直接输入文本框,2通过文件Jenkinsfile
        • 语法:(片段生成器,声明式代码生成,支持页面配置 ,生成语法)
          • agent 指明执行节点
          • stages 所有执行阶段 通常stages只有1个,里面包含多个stage
          • stage 某个阶段 如 拉代码,构建,部署
          • steps 一个阶段内需要执行的逻辑:shell脚本等
          • Node 节点,Master 或者 Agent,执行 Step 的具体运行环境
    • 立即构建
    • 构建历史
    • 构建日志

部署

  • 高性能
    • Master-Slave分布式构建
      • 将构建过程分配到从属Slave节点上,从而减轻Master节点的压力

  • 高可用
    • 单个 Jenkins Master 终究会成为系统中的瓶颈;
    • 携程方案:解决思路是在 Jenkins 上面再封装两层
      • 根据页面在Master之上进行分拆

Build Service 暴露构建的 HTTP 接口,接收请求后将任务丢给异步队列 Build Worker,Build Worker 根据不同的策略将任务分发给符合条件的 Jenkins Master。

参考

Jenkins Pipeline流水线项目构建 open in new window包含jenkins系列文章
玩转 CICD 之 Jenkins 构建自由风格项目open in new window.
Jenkins 流水线多种使用场景详解(Jenkinsfile,多环境部署,多分支部署)open in new window
16 构建资源的弹性伸缩open in new window jenkins 高可用。
Jenkins的Master-Slave分布式构建open in new window