栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

持续集成与持续部署 基于jenkins的Devops CI&CD

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

持续集成与持续部署 基于jenkins的Devops CI&CD

开发工作:编码、构建、集成、测试、交付、部署 源码管理:gitlab、SVN CI&CD:
  • 用jenkins继续集成
  • GitLab管理源码
  • Gerrit审核代码
  • Sonar静态扫描
  • JUnit单元测试
  • Docker compose构建镜像
  • Docker部署容器
  • Kubernetes/Rancher服务编排(管理容器)
代码管理 gitlab CE/EE 安装
  • Gitlab Workhorse(gitlab处理的内容)
  • ngix(前台转发)
  • PostgreSQL(数据库,记仓库内容和访问用户)
  • Redis(通信中心,包含所有用户的任务列表)
  • Sidekiq(向外发送邮件)
  • Unicorn(Gitlab Rails:从任务列表获取任务,验证用户,对代码操作)
  • Gitlab shell(从SSH接受命令)
  • Gitaly(Git RPC远程服务以访问Git仓库)
gitlab使用
  • 角色权限:
    • 项目:公开、内部、私密
  • 本地git配置
SonarQube 代码扫描和管理平台
  • 组成:
    • SonarQube 服务器
    • SonarQube 数据库
    • SonarQube 插件
    • SonarQube 扫描器:运行具体代码扫描任务的工具,读取代码送到SonarQube 服务器
      • 扫描方式:
        • 命令行:SonarQube扫描器
        • 构建工具:Maven、Gradle、Ant、MSBuild
        • 持续集成平台:Jenkins的SonarQube扫描器
        • 本地代码扫描:IntelliJ IDEA Eclipse的SonarQube插件
  • 平台的集成
    • 本地 IDE安装插件SonarLint
    • jenkins上安装配置并打开SonarQube扫描器
  • OVERVIEW界面问题类型
    • Bug
    • 漏洞(安全方面)
    • Code Smell:写法、可维护性问题
  • Measures界面(可视化展示)
    • 可靠性:BUG数量统计评级
    • 安全性、可维护性
    • 覆盖率:待援测试覆盖率:具体行数、代码块、判断条件方面
    • 复杂度:函数、文件、类
代码审核工具Gerrit
  • 建立在Git版本控制系统之上,基于Web的代码审查工具,Gerrit可与jenkons集成
  • 代码提交后,在人工审核之前,通过jenkins任务自动单元测试、购买以及自动化测试,如果失败,则自动打回这次提交
  • Gerrit安装与配置
  • GitWe安装与配置
  • Gerrit与gitlab的集成
  • Gerrit基本用法:
    • Gerrit用户和群组
jenkins基础 概念:
  • 基于java开发的开源工具,用于持续集成和持续部署(CI/CD)
  • 特点:易于安装(基于java环境,多平台)、易配置(界面配置)、插件多、分布式主从结构
安装
  • 安装Docker
    • 在win上安装需要先安装Docker Toolbox 和 Oracle Virtual Box以支持win
    • Docker Engine:Docker主机
    • Docker machine:多平台、多Docker主机的几种管理
    • Docker Compose:定义和运行复杂容器应用的Docker工具,可以执行docker-compose命令
    • kitematic:GUI容器管理应用
    • Oracle Virtual Box:支持底层的虚拟化
    • Docker quick start shell:可以自动配置Docker的指令行环境
  • 在Docker上安装Jenkins
jenkins Home 目录

* config.xml:jenkins 的核心配置文件
* hudson.tasks.Maven.xml: Maven 的安装细节
* …xml: 其它各种工具的配置信息
* fingerprints:跟踪人工操作的痕迹
* jobs:构建作业的配置细节,及构建产物和数据
* workspace:jenkins 对当前作业进行构建的地方,包含 jenkins 检验过的源码、构建本身生成的所有文件
* builds:包含当前作业的构建历史
* config.xml:存放当前作业的所有配置细节
* nextBuildNumber:下一次构建的 number
* lastStable:最后一个稳定构建的链接(成功的构建)
* lastSuccessful:最近成功的构建链接(没有任何编译错误)
* plugins:存放所有已安装的插件,更新 jenkins 不需要重新安装插件
* users:当使用 jenkins 本地用户数据库时,用户信息会存放在这个目录下
* updates:存放可用的插件更新
* userContent:存放用户自己为 jenkins 服务器定制化的一些内容

升级备份与还原
  • 升级
    • 停止服务,备份jar包、配置和数据文件夹:service jenkins stop
    • 替换usr/lib/jenkins/下的jenkins.jar
    • 重启jenkins服务 service jenkins start
  • 备份和还原
    • 手动备份:停止服务后 复制jenkins Home 目录;还原也是同理
    • 使用ThinBackup插件备份:setting配置
分布式构建模型
  • jenkins运行模式:Master/Slave
    • 安装jenkins的容器作为Master节点,用户通过配置界面配置添加Slave节点。
  • 添加Slave节点:
    • 配置基本信息
    • 配置节点环境变量
    • 配置节点的工具执行路径
  • Master与Slave连接方式
    • SSH
    • Java Web Start
    • 远程Master执行指令
jenkins配置
  • 基于界面进行配置
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4IJzk4kL-1633332374382)(C:UsersZMLinAppDataRoamingTyporatypora-user-imagesimage-20211004145141892.png)]
    • manage jenkins:管理中心。系统配置、权限设置、插件更新、节点添加和配置
  • 系统配置
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-58B5PbMI-1633332374388)(C:UsersZMLinAppDataRoamingTyporatypora-user-imagesimage-20211004150514850.png)]
    • 系统消息:管理员对其他用户的信息提醒
  • 全局安全配置
    • 用户认证方式
    • 访问权限控制
    • TCP/SSH端口的控制
    • 防止跨站请求伪造
  • 全局工具配置:常用工具的名称、版本、路径、配置文件设定
    • maven configuration
    • maven
    • JDK
    • Git
  • jenkins CLI:通过脚本的方式访问和操作jenkins
    • SSH方式
    • CLI客户端方式
      • 通过jenkins master下载jar包
      • HTTP连接模式
插件配置和使用
  • 插件功能
    • jenkins官网搜素下载
  • 安装与更新:界面安装、CLI安装、下载hpi文件,在web界面安装
    • 自动:界面、CLI、
    • 手动:下载hpi文件,上传后在web界面安装
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号