首页 > 其他分享 >Jenkins入门

Jenkins入门

时间:2024-12-11 20:32:32浏览次数:2  
标签:集成 入门 部署 代码 持续 测试 jenkins Jenkins

Jenkins入门

jkenkins https://www.bilibili.com/video/BV1Tm4HevEWu/?spm_id_from=333.999.0.0

2

56、CICD

DevOps.md

一、DevOps概念
1、DevOps是什么
Development和Operations的组合词;

开发 测试 运维 都会

DevOps:Development 和Operations 的组合DevOps 看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。
突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
DevOps 希望做到的是软件产品交付过程中 IT 工具链的打通,使得各个团队减少时间损 耗,更加高效地协同工作。专家们总结出了下面这个 DevOps 能力图,良好的闭环可以大大 增加整体的产出。

dev o

2、CICD是什么
持续集成 持续部署

"1、持续集成(Continuous Integration)
持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现 其中的错误。“持续集成"源自于极限编程(XP),是 XP 最初的 12 种实践之一.
CI 需要具备这些:
全面的自动化测试。这是实践持续集成&持续部署的基础,同时,选择合适的自动化测试工具也极其重要;灵活的基础设施。容器,虚拟机的存在让开发人员和QA人员不必再大费周折;版本控制工具。如 Git,CVS,SVN 等;中
自动化的构建和软件发布流程的工具,如 Jenkins,flow.ci;反馈机制。如构建/测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版本。

2、持续交(Continuous Delivery)
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立 在高水平自动化持续集成之上.
灰度发布。
持续交付和持续集成的优点非常相似:
快速发布。能够应对业务需求,并更快地实现软件价值。
编码->测试->上线->交付的频繁迭代周期缩短,同时获得迅速反馈;高质量的软件发布标准。整个交付过程标准化、可重复、可靠,整个交付过程进度可视化,方便团队人员了解项目成熟度;更先进的团队协作方式。从需求分析、产品的用户体验到交互 设计、开发、测试、运维等角色密切协作,相比干传统的瀑布式软件团队,更少浪费.

"3、持续部署(Continuous Deployment)
I持续部署是指当交付的代码通过评审之后,自动部署到生产环境中,持续部署是持续交付的最高阶段。这意味着,所有通过了一系列的自动化测试的改动都将自动部署到生产环境,它也可以被称为"Continuous Release"
“开发人员提交代码,持续集成服务器获取代码,执行单元测试,根据测试结果决定是否部署到预演环境,如果成功部署到预演环境,进行整体 验收测试,如果测试通过,自动部署到产品环境,全程自动化高效运转。
持续部署主要好处是,可以相对独立地部署新的功能,并能快速地收集真实用户的反馈。
“You build it,you run it”,这是 Amazon 一年可以完成 5000 万次部署,平均每个工程师每天部署超过 50 次的核心秘籍。

开发人员代码敲完。可以release的时候,提交代码,剩下的全部一站式自动搞定

57、CICD的指导实现

内循环(开发要做的事情):
编码、测试、运行、debug、提交
代码推送到代码仓库(svn,git)【代码回滚】
进行CI过程(持续集成),万物皆可容器化。打包成一个Docker镜像镜像推送到镜像仓库
测试
持续部署流程(CD),拿到之前的镜像,进行CD。怎么放到各种环境。uat,test,prod外循环()运行时监控
生产环境的管理
监控
线上反馈到开发
来到内循环
I

MVC:Model(bean,entity,to,po..)View(thymeleaf、前后分离...)Controller(xxxxx)

新功能,bug修复。
创建分支来做这个事情(开发功能)
提交分支的代码改变I进入持续集成流程
当前分支代码功能性自动化构建和测试自动工具推送这次提交自动化集成测试
可以看到效果
人工确认此次功能是否发布到生产环境代码合并。
进入持续部署流程
构建、测试、发布....

禅道

Collaborate
Build
Test
Deploy
Run

Jenkins
驱动我们整个CICD过程的很多工具

Docker

139.198.9.163

https://www.jenkins.io/zh/doc/book/installing/

58、jenkins简介与安装
59、jenkins安装完成
60、再绑一个公网ip
61、创建git项目和gitee建立连接

"leifengyang"
"534096094@qq.com"

62、jenkins文件的结构

Jenkinsfile

流水线

//写流水线的脚本(声明式、脚本式)

"" const +$变量

' str

Jenkinsfile

//写流水线的脚本(声明式、脚本式)
pipeline{
    //全部的CICD 流程都需要在这里定义
    //任何一个代理可用就可以执行
    agent any
    //定义一些环境信息
    environment{
        hello="hello"
    }
    //定义流水线的加工流程
    stages{
        //流水线的所有阶段
        //1、编译"abc"
        stage('代码编译'){
            steps{
                //要做的所有事情
                echo "编译..."
                echo "$hello"
            }
        }
        //2、测试
        //3、打包
        //4、部署
    }
}

63、jenkins步骤生成器与环境变量


64、jenkins其他简单的设置
65、jenkins环境检查


66,gitee远程触发jenkins自动构建

自动构建 WebHooks gitee 配合 jenkins 自动

67、jenkins插件安装
68、使用基础网络
69、jenkins插件安装


70、自定义maven代理,使用自定义..
71,docker maven完全加速起来

72、简单jenkins流水线完成
73、发送邮件通知
74、cicd还能做什么
75、其他问题

Start环境检查maven编译测试
生成镜像推送镜像部署
发送报告部署到生产环境吗?
End

//写流水线的脚本(声明式、脚本式)
pipeline{
    //全部的CICD 流程都需要在这里定义
    //任何一个代理可用就可以执行
    agent any
    //定义一些环境信息
    environment{
        hello="hello"
    }
    //定义流水线的加工流程
    stages{
        //流水线的所有阶段
        //1、编译"abc"
        stage('编译'){
            steps{
                //要做的所有事情
                echo "编译..."
                echo "$hello"
            }
        }
        //2、测试
        //3、打包
        //4、部署
        stage('部署'){
            steps{
             sh 'pwd'   
            }
            //后置执行
            post{
                failure{
                    echo 'error'
                }
                success{
                    echo 'ok'
                }
            }
        }
        //5. 推送报告
        stage('推送报告'){
            steps{
                
            }
        }
    }
}

war msi

admin mm zh

安不了 看过 work/homedsx

标签:集成,入门,部署,代码,持续,测试,jenkins,Jenkins
From: https://www.cnblogs.com/KooTeam/p/18600658

相关文章

  • WebSocket入门与案例实战
    WebSocket入门与案例实战https://www.bilibili.com/video/BV1hF411k7bj/?vd_source=d10c649e248b08f4441d8cd6b76f46fc1课程介绍学习内容WebSocket概述为什么?Java接入WebSocket的两种方式怎么用?实战:多人聊天室在哪用?我们会想到要去使用这个WebSocket熟悉Java语法了解Ma......
  • 黑客在空天网络中的破坏力分析,零基础入门到精通,收藏这篇就够了
    在当今科技飞速发展的时代,空天领域已成为各国竞争的重要舞台。随着太空探索的不断推进,空天网络系统日益复杂且相互关联,然而,黑客的威胁却如影随形,对空天网络安全构成了严峻挑战。一、基本情况空天网络涵盖航天器、卫星以及地面与太空之间的通信链路等关键部分。航天器和卫......
  • 神经网络入门之三 C环境部署
    此篇文章在2022年12月5日被记录入门神经网络三C环境部署为什么要部署到C环境上面两篇文章中,我们详细讲解了采集样本与样本训练,生成了一个模型文件,经过测试我们的模型成功率在90%以上,但是我们想将这个模型利用起来,实时检测我们的运动姿态,在ESP32上运行torch显然是不现实......
  • 神经网络入门之二 网络搭建
    此篇文章在2022年12月1日被记录入门神经网络二网络搭建使用哪种深度学习框架目前主流的神经网络框架有tensorflow、kears,国产的有百度的PaddlePaddle,但是我是从yolov5入坑的,yolov5官方代码使用的是pytorch框架,所以我使用torch,而且torch框架上手很简单,资源较多坑较少。......
  • 神经网络入门之一 搭建网络结构与数据采集
    此篇文章在2022年11月30日被记录转移这篇文章时,突然想到了为了采集样本在公司楼下跑步了20分钟入门神经网络一样本采集在本科的时候对神经网络颇有兴趣,感觉很神秘,特别是当时的yolov5目标检测算法,让我感觉特别震撼,计算机在图像识别上已经超过了人眼。但是这么长时间以来一直......
  • 网络安全行业的那些岗位(非常详细),零基础入门到精通,看这一篇就够了
    前言在网络安全行业工作需要持续不断地学习和知识更新,一方面是由于安全理论和技术不断迭代更新,另一方面也是因为行业竞争日趋激烈,对人员素质提出来更高的要求。很多人提到网络安全职业脑海浮现就是黑客,渗透测试这些词语,渗透服务工程师确实是网络安全行业重要的岗位,但网络安......
  • 【护网】面试及经验分享(非常详细),零基础入门到精通,看这一篇就够了
    前言关于“护网”面试及经验介绍,以下是一些关键点和建议,希望能帮助你更好地准备和理解护网面试的过程:面试流程(1)投递简历-丙方公司hr先筛选一下简历,交给技术负责人面试一下,推荐给乙方(360,奇安信,安恒,绿盟等安全厂商)(2)乙方hr筛选一下简历,乙方安全厂商安排技术笔试和......
  • Go指针进阶:从入门到被虐,90%开发者都踩过这些坑
    Go指针进阶:从入门到被虐,90%开发者都踩过这些坑!原创 瀛洲在线编程之道 黑客编程之道  2024年11月17日21:10 吉林 听全文黑客编程之道分享黑客编程技术,Go、Python、Rust、Java等编程技术166篇原创内容公众号指针是Go语言中最强大但也最容易出错的特......
  • VSCode开发Go入门
    一、Go环境搭建安装Go使用国内的Go语言中文网 https://studygolang.com/dl 进行下载找到合适的平台点击链接下载即可,这里以Windows为例下载完成后点击安装保持默认即可安装后Go将自动设置环境变量,打开终端或CMD窗口验证Go命令是否可用goversion若安装......
  • 第一部分:基础知识 9 . 视图 --[MySQL轻松入门教程]
    在MySQL中,视图(View)是一个命名的SQL查询,它被存储在数据库目录中。视图可以包含来自一个或多个表的数据,并且可以像真实表一样被查询。下面是对MySQL视图的详细讲解:创建视图使用CREATEVIEW语句来创建视图。语法如下:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE......