zoukankan      html  css  js  c++  java
  • jenkin—持续集成

    jenkins与持续集成

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

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

    这个两个概念讲得太抽象了。
    首先了解传统的软件开发部署的流程
    到使用jenkins进行部署的流程

    下载jenkins的war包

    -下载jenkins的war包,war是不需要安装的,直接下载war包就好。
    官网:https://www.jenkins.io/zh/download/


    启动jenkins

    • 直接使用java命令启动jenkins的war包
      这个命令是linux、mac、windows都可使用。
      java -jar jenkins.war --httpPort=8080
      后台启动,退出shell窗口后也可以继续访问
      nohup java -jar jenkins.war --httpPort=8080 &

    看到:Jenkins is fully up and running,代表jenkins启动了

    • jenkins部署到tomcat中
      tomcat是应用服务器。
      需要先配置后java环境
      如果端口冲突,
      启动tomcat,
      停止tomcat,
      tomcat的日志,

    • 在docker运行jenkins

    • 浏览器访问:locaolhost:8080

    jenkins初始化(以使用java命令启动为例)

    • 等待jenkins启动完毕
      看到:Jenkins is fully up and running,代表jenkins启动了

    • 本地浏览器访问:locaolhost:8080
      会看到提示在什么位置查看初始密码,如:/home/uni/.jenkins/secrets/initialAdminPassword

      打开另外的命令行窗口,cat /home/uni/.jenkins/secrets/initialAdminPassword

      d5b1f3675a6646ba939aa778201ccb83

    • 输入初始密码,进入jenkins
      问题:该Jenkins实例似乎已离线

    • 安装建议插件

    • 创建管理员用户
      docker启动:Uni 123456

    第一个工作任务












    ps:变量引用得使用双引号

    jenkins的job机制与单元自动化任务

    jenkins节点管理

    • git配置后进行握手
      ssh git@github.com
    root@uni-virtual-machine:~/.ssh# ssh git@github.com
    The authenticity of host 'github.com (52.74.223.119)' can't be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    Are you sure you want to continue connecting (yes/no)? y
    Please type 'yes' or 'no': yes
    Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
    PTY allocation request failed on channel 0
    Hi huanghoujie18! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    

    第一次握手时需要进行确定,输入yes。
    第二次握手时,就不会再提示。

    jenkins用户权限控制

    jenkins配置Email

    • Email通知的需求
      为了降低沟通成本,及时了解情况

    • 下载Email插件

    • 配置发送邮件的基础信息

    • 邮件配置的基础信息可以再网页版邮箱中查看
      接收服务器

    • jenkins自带的邮件配置

    • Email插件的邮件配置

    • Email模版配置
      让发送的邮件格式更加好看。
      配置你关注的信息。
      常用的参数key值:
      构建结果
      构建脚本名称
      构建脚本编号
      构建项目描述。。。

    • 报警邮件触发条件
      规定邮件发出的条件,邮件太多等于没发,会让你淹没在邮件的汪洋大海之中。
      可以添加插件
      在default triggers设置规则:
      Falilure
      Fixed
      ps:这是对整个系统的触发规则。

    • 对job任务配置Email通知
      ps:可以配置新的触发条件,就可以不遵循配置的系统规则

    邮件分组,针对不同的情况,给不同的人发送邮件。

    支持钉钉、企业微信信息发送?

    jenkins高级插件简介

    jenkins强大的原因之一就是插件众多
    插件帮助jenkins丰富自身原有的功能

    • 插件的安装方法
      插件搜索,可模糊搜索

    • 建议安装的插件
      Multiuple SCMs Plugin,复合代码库插件,可以添加多个git
      Rebuilder,
      Safe Restart Plugin,重启
      Pipeline,
      Text Finder,修改任务状态和任务结果
      Blue Ocean,皮肤
      ps:想到需要某个需求,可以搜索一下是不是有插件可以实现。

    jenkins参数化构建

    目的:
    常用的参数:choice、boolean

    • how
      string parameter输入参数
      excute shell编写动作脚本

    jenkins父子多任务运行

    有先后次序关系的任务,比如:部署环境任务-验收测试任务,任务链

    前驱任务稳定成功的条件下触发后续任务,在build triggers配置触发条件
    前驱任务不稳定的条件下也被触发,使用Text Finder插件
    前驱任务就算失败的条件下触发,

    如何设定jenkins任务失败?shell退出状态非0,jenkins就会将任务标记为失败。

    jenkins构建、部署web应用项目

    iweb项目
    从源码到可执行程序一键搞定
    spring架构的web应用程序
    把项目部署到tomcat
    现在本地跑一下程序

    部署流程:拉取源代码-maven打包-生成新的web应用war包-停止tomcat-删除tomcat原有的工程,部署新的war包-重启tomcat
    小技巧:把项目部署到tomcat根目录下

    Jenkins入门讲解(界面)

    https://blog.csdn.net/abcnull/article/details/89404660
    Jenkins详细教程
    https://blog.csdn.net/Roger_CoderLife/article/details/100037104

  • 相关阅读:
    web框架基础
    前端基础之DOM和jQuery
    前端基础之JavaScript
    前端基础之CSS
    福州大学W班-助教总结
    福州大学W班-个人最终成绩统计
    福州大学W班-Beta冲刺评分
    福州大学W班-alpha冲刺评分
    福州大学W班-团队作业-随堂小测(同学录)成绩
    福州大学W班-需求分析评分排名
  • 原文地址:https://www.cnblogs.com/Uni-Hoang/p/12950553.html
Copyright © 2011-2022 走看看