DevOps入门教程——Jenkins持续集成篇

Jenkins 和 k8s 构建企业级 DevOps 容器云平台 DevOps 阅读详情

持续集成

欢迎阅读WebDriver持续集成讲义。本篇讲义将会重点介绍Selenium WebDriver API的在持续集成中的使用方法,以及使用Jenkins持续集成工具进行自动化测试的设计。

持续集成的概念

持续集成的定义

持续集成,Continuous integration ,简称CI。

随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。

持续集成正是针对这一类问题的一种软件开发实践。首先我们看一下,敏捷教父 Martin Fowler 对持续集成的定义:

Martin Fowler:*Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. *

具体定义:持续集成式一种软件开发实践。它倡导团队的成员必须经常的集成他们的工作,通常至少每天一次甚至更多次集成。每次集成都需要通过自动化的构建(包括编译代码、构建应用、部署程序以及自动化测试)来验证,从而尽早尽快的发现集成中的错误。大量的团队利用这样的方式来更快的开发内聚的软件。大大减少此过程中的集成问题。

具体的流程图如下:

Paste_Image.png

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元、自动化)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

首先,解释下集成。我们所有项目的代码都是托管在SVN服务器上。每个项目都要有若干个单元测试,并有一个所谓集成测试。所谓集成测试就是把所有的单元测试跑一遍以及其它一些能自动完成的测试。只有在本地电脑上通过了集成测试的代码才能上传到SVN服务器上,保证上传的代码没有问题。所以,集成指集成测试。

再说持续。不言而喻,就是指长期的对项目代码进行集成测试。既然是长期,那肯定是自动执行的,否则,人工执行则没有保证,而且耗人力。对此,我们有一台服务器,它会定期的从SVN中检出代码,并编译,然后跑集成测试。每次集成测试结果都会记录在案。完成这方面工作的就是下面要介绍的Jenkins软件。当然,它的功能远不止这些。在我们的项目中,执行这个工作的周期是1天。也就是,服务器每1天都会准时地对SVN服务器上的最新代码自动进行一次集成测试。

Paste_Image.png

持续集成的特点

  • 它是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;
  • 需要有专门的集成服务器来执行集成构建;
  • 需要有代码托管工具支持;

持续集成的作用

  • 代码库存越是积压,就越得不到生产检验,积压越多,代码间交叉感染的概率越大,下个发布(release)的复杂度和风险越高,持续集成可以保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
  • 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
  • 及早的发现代码中的问题,及早解决,代码越早推送(PUSH)出去,用户能越早用到,快就是商业价值;

举个例子,你家装修厨房,其中一项是铺地砖,边角地砖要切割大小。如果一次全切割完再铺上去,发现尺寸有误的话浪费和返工时间就大了,不如切一块铺一块。装修厨房有很多部分,每个部分都有检测手段,如地砖铺完了要测试漏水与否,线路铺完了要通电测试电路通顺,水管装好了也要测试冷水热水。如果全部装完了再测,出现问题可能会互相影响,比如电路不行可能要把地砖给挖开……。全部装修完了,你去验收,发现地砖颜色不合意,水池太小,灶台位置不对,返工吗?所以不如没完成一部分,你就去用一下试用验收……这就是持续集成。在敏捷的思想里面,不光强调上面的过程,还需要强调自动化这个过程。过技术手段自动化这三个工作。加快交付速度,自动化测试是一个重要的组成部分。

Jenkins

Jenkins介绍

Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的软件工具。官方网站:http://jenkins-ci.org/。

Hudson是在2004年的夏天由Sun公司开发的(就是开发Java的那家),2005年2月开源并发布了第一个版本。Hudson发布的时候CruiseControl是CI界的老大哥,但是很快,在大约2007年的时候Hudson已经超越CruiseControl。2008年5月的JavaOne大会上,Hudson获得了开发解决方案类的Duke's Choice奖项。从此,小弟翻身做大哥,Hudson成为CI的代名词。

2009年6月,Oracle收购Sun。2010年9月,Oracle注册了Hudson的商标,然后就没有然后了。

mv -f Hudson Jenkins

Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。

Jenkins特点

  • 易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
  • 易配置:提供友好的GUI配置界面;
  • 变更支持:Jenkins能从代码仓库(git/Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
  • 支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;
  • 集成E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);
  • JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
  • 支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
  • 文件日志信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;
  • 支持第三方插件:使得 Jenkins 变得越来越强大;

Jenkins的安装

需要从官网下载Jenkins的文件,在本地安装Java(jdk)的环境以后,直接执行以下语句进行安装:

java -jar jenkins.war

注意上述操作,一定是在Java环境已经配置好的情况下进行。输出如下:

Microsoft Windows [Version 10.0.10532]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\erha>java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

C:\Users\erha>java -jar d:\Jenkins\jenkins.war
Running from: D:\Jenkins\jenkins.war
webroot: $user.home/.jenkins
Jun 19, 2016 12:52:18 AM winstone.Logger logInternal
INFO: Beginning extraction from war file
Jun 19, 2016 12:52:29 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: jetty-winstone-2.9
Jun 19, 2016 12:52:33 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
Jenkins home directory: C:\Users\erha\.jenkins found at: $user.home/.jenkins
Jun 19, 2016 12:52:35 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Started SelectChannelConnector@0.0.0.0:8080
Jun 19, 2016 12:52:35 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled
Jun 19, 2016 12:52:36 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Jun 19, 2016 12:53:11 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Jun 19, 2016 12:53:12 AM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Jun 19, 2016 12:53:12 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Jun 19, 2016 12:53:12 AM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Jun 19, 2016 12:53:15 AM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Jun 19, 2016 12:53:25 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Started Download metadata
Jun 19, 2016 12:53:26 AM org.jenkinsci.main.modules.sshd.SSHD start
INFO: Started SSHD at port 10556
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Jun 19, 2016 12:53:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Jun 19, 2016 12:53:26 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
Jun 19, 2016 12:53:32 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jun 19, 2016 12:53:33 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Jun 19, 2016 12:53:34 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Ant.AntInstaller
Jun 19, 2016 12:53:37 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tools.JDKInstaller
Jun 19, 2016 12:53:37 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 12,471 ms

随后访问http://localhost:8080即可

最后,将Jenkins安装成Windows服务启动

在Jenkins的主页中选择 Manager Jenkins

[图片上传失败...(image-223b63-1516464936475)]

接下来选择 Install as Windows Service

[图片上传失败...(image-7398af-1516464936476)]

在Installation Directory中选择jenkin的安装路径。这里会默认产生,直接点击Install就可以了。

[图片上传失败...(image-7beb5b-1516464936476)]

随后我们点击Yes,然后可以看到Windows服务中添加了Jenkins的服务,并已经设置为自动和启动状态。

[图片上传失败...(image-c7aaac-1516464936476)]

持续集成的实践

创建Jenkins Job

Jenkins提供了四种类型的Job:

  1. 构建一个自由风格的软件项目:这个是Jenkins的主要功能,可以构建一个你自己需要的项目。
  2. 构建一个maven项目:这是基于maven构建的项目,整个过程将会基于你的.pom文件进行构建,大大减轻构建的配置
  3. 构建一个多配置项目:这种项目适用多配置的项目,比如多个平台定制的构建,多个测试环境的部署构建等。
  4. 监控一个外部的任务:这种事允许你记录和执行不在Jenkins中的Job,这些Job可以运行在远程的主机上,Jenkins通过远程自动构建,作为一个控制面板而存在。

运行Jenkins Job

运行Job只需要在页面的左侧选中已经列出的项目,进行操作就可以了。选择立即构建,便可以进行自动构建的工作了。

定时构建 Job

目前有一个每日构建的概念。

Daily Build,每日构建。需要Jenkins在每日固定的时间进行代码自动构建、集成和测试的工作。那么需要定制执行时间。Jenkins的自动构建定制时间是遵循cron语法的。具体来说,每一行包括了5个用白空格或者Tab隔开的字段,分别是:MINUTE HOUR DOM MONTH DOW。具体的格式我们参考下图

字段说明示例
MINUTEMinutes within the hour (0–59)30
HOURThe hour of the day (0–23)17
DOMThe day of the month (1–31)1
MONTHThe month (1–12)5
DOWThe day of the week (0–7) where 0 and 7 are Sunday.5

然后每个格式,都可以由*,-,/和,4种字符组成:

  • *代表所有可能的值
  • -代表整数之间的范围
  • /代表指定的时间的间隔频率
  • ,代表指定的列表范围

命令的格式参考和示例

分钟小时天月份星期执行的命令 
*161,10,20**python xxx每个月的1,10,20日的16:00执行 python xxx 命令格式:* 16 1,10,20 * *
*16**1-5python yyy每个周的周一到周五的16:00执行 python yyy 命令格式:* 16 * * 1-5
3017**1,5python zzz每个周的周一和周五的17:30执行 python zzz 命令格式:30 17 * * 1,5

ps: 注意时间是伦敦时间

至此,我们将会对Jenkins有一个非常范和初步的了解过程。

示例:

1. 创建SVN仓库 
    https://172.31.95.168/svn/DemoRepo/
    ciuser / ciuser
2. 从SVN仓库签出文件到CI Server
3. 构建 build
4. 部署 
    4.1 备份目标文件夹 
        若有ranzhi_bak 需要先删除
        rd /s /q c:\xampp\htdocs\ranzhi_bak
        把 htdoc的ranzhi改成 ranzhi_bak
        xcopy c:\xampp\htdocs\ranzhi c:\xampp\htdocs\ranzhi_bak\ /s /e /y
        rd /s /q c:\xampp\htdocs\ranzhi
    4.2 复制构建的版本到目标文件夹
        把workspace的 ranzhi 复制到 htdocs下面
        xcopy "%WORKSPACE%\ranzhi" c:\xampp\htdocs\ranzhi\ /s /e /y
    4.3 恢复配置文件
        复制 ranzhi_bak\config\my.php 到 ranzhi\config\my.php
        xcopy c:\xampp\htdocs\ranzhi_bak\config\my.php c:\xampp\htdocs\ranzhi\config\ /e
5. 自动化测试
    python D:\Git\Coding\BWFTraining\3.03_Selenium\codes\weekend2demo\ranzhi_test_runner.py
    

最后

最后跟大家推荐一个学习资料分享群:672899761,

里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!

人生是一个逆水行舟的过程,不进则退,咱们一起加油吧!

 

DevOps工具:Jenkins持续集成配置 Jenkins是一款开源的持续集成工具,它支持各种平台和编程语言。Jenkins能够监控代码仓库的变更,自动执行构建、测试和部署任务,从而实现自动化软件开发流程。通过Jenkins,开发团队可以快速发现和修复问题,提高软件质量。本文详细介绍了Jenkins持续集成配置的方法和优势。通过Jenkins,开发团队可以实现自动化构建、测试和部署,提高软件质量。然而,Jenkins也面临着学习成本和资源消耗等挑战。在实际应用中,开发团队应根据项目需求和团队技能水平,合理选择和配置Jenkins。 阅读详情

相关推荐

jenkins+kubernetes+git+dockerhub构建devops云平台

提高开发效率,及时跟进用户需求,缩短开发周期。敏捷开发包括编写代码和构建代码两个阶段,可以使用git或者svn来管理代码,用maven对代码进行构建。

嗨 你又来啦 2935

DevOps&Jenkins

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

Jerry的博客 1738

DevOps实践:Jenkins持续集成与交付

Jenkins 是一个开源的、基于 Java 开发的持续集成工具,它可以帮助开发者自动化构建、测试和部署软件。Jenkins 支持多种构建工具和平台,具有高度的可扩展性和灵活性。通过集成各种插件,Jenkins 可以实现与各种开发工具和平台的对接,从而实现高效的持续集成与交付。本文详细阐述了 Jenkins 在 DevOps 实践中的应用,包括自动化构建、测试、部署、监控等方面。通过 Jenkins,开发者可以有效地实现持续集成与持续交付,提高软件开发的效率和质量。

matt78916的博客 521

windows安装 jenkins

jenkins war  本机Windows上安装 在在官网http://jenkins-ci.org/上下载最新的安装包jenkins.war, 执行安装命令:java -jar jenkins.war    默认端口8080 指定端口 java -jar jenkins.war --ajp13Port=-1 --httpPort=8085

zhangxiaoPH的博客 887

DevOps实践:Jenkins持续集成部署

通过Jenkins,开发团队可以提高开发效率,保证软件质量,实现自动化构建、测试和部署。Jenkins是一款开源的持续集成(CI)和持续部署(CD)工具,它可以帮助开发团队自动化构建、测试和部署软件。Jenkins支持多种编程语言,如Java、Python、Ruby等,并且具有强大的插件生态系统,使其成为DevOps实践中的首选工具。本文将重点探讨Jenkins在DevOps实践中的应用,详细阐述如何通过Jenkins实现持续集成部署,以提高开发效率和稳定性。二、Jenkins持续集成部署的优势。

2501_92486623的博客 455

DevOps自动化之Jenkins

一、DevOps介绍 DevOps 一词的来自于 Development 和 Operations 的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。DevOps 其实包含了三个部分:开发、测试和运维。换句话 DevOps 希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。 (1)持续集成 持续集成是一个将集成提前到开发周期的实践方式。让构建、测试和集成代码变更集成经常反复发生。 通俗来说..

Romanticn_chu的博客 2040

Unity - gamma space下还原linear space效果

还有头发之后的 (头发没有处理完整,因为使用 ASE 连连看练出来的,使用 surface shader,虽然可以生成一下 vert, frag 的方式在修改,但是我懒得去修改了,这样就是 PBR 的 BRDF 里面的部分曲线是不一样的,所以可以看到头发有一些差异)其实上面的代码判断 是否有分量 > 1.0f 的方式来判断是否 HDR 是不太合理的,因为不同的贴图格式的编码方式不同。还有比较隐蔽的一些颜色相关的常量值 (比如PBR中的 绝缘体的 F0 常量值,等等)

Jave.Lin 的学习笔记 2830

Jenkins(一)linux下java -jar 部署jenkins的war包

先安装jdk Jenkins部署方式 官网下载jenkins.war,下载地址http://updates.jenkins-ci.org/download/war/ 直接启动 [root@localhost data]# java -jar jenkins.war --httpPort=8080 第一次启动日志输出中包含了默认密码,启动输出 [root@localhost data]# java -jar jenkins.war --httpPort=8080 Running from.

leminfei的博客 2726

Python实战:用MNE-Python从脑电数据中提取P300成分(附完整代码)

本文提供了一份使用MNE-Python从脑电数据中提取P300成分的完整实战指南。通过详细的代码示例,系统讲解了从环境搭建、数据加载、预处理(滤波、分段、伪迹剔除)到P300波形提取、可视化与参数量化的全流程。重点介绍了如何利用零相位滤波和叠加平均技术,从EEG信号中精准分离出反映认知加工的P300事件相关电位,适用于脑机接口与认知神经科学研究。

weixin_29240343的博客 338

【SeedLab】Packet Sniffing and Spoofing Lab

本节实验要求:借助Scapy库,实现网络流量的捕获与伪造。

cold_windx的博客 4515

Python 集成测试: 提高软件质量的关键步骤

集成测试是软件开发的关键步骤,用于验证不同组件的协同工作。Python提供了unittest和pytest等工具来简化集成测试的编写和执行。编写良好的集成测试有助于提高软件质量、减少缺陷和改进应用程序的稳定性。通过遵循最佳实践和自动化集成测试,可以在持续集成流程中集成测试,并在开发周期的每个阶段执行它们。

涛哥聊Python 360

SAP SD 顾问面试问题 consultant interview questionnaire

以下是我个人目前面试团队 SD顾问问题的小结,希望对大家有所帮助, 也可能有回答错误的地方,希望同行不吝赐教。 也希望各位顾问们讲你们遇到的一些面试问题做个跟贴,方便大家共同进步,谢谢。   面试问题清单:  一、销售订单类型影响: 可用性检查,交货类型,输出,信贷,定价,需求,报表,合作伙伴,文本,不完整日志,交货开票,订单开票,公司间开票,统计组,屏幕顺序组,参数文件...

weixin_33825683的博客 1809

【云原生 • DevOps】一文掌握持续集成工具 Jenkins

Jenkins 介绍与入门,Jenkins 的安装配置及使用方法详细介绍,一文搞定。

商务合作 | 共同学习 | 携手共进 9万+

Linux ARM平台开发系列讲解(网络篇)1.3 MDIO总线设备device和设备driver匹配

在设备和驱动都载入内核后,设备和驱动是如何匹配起来的呢?其实他们就是通过的唯一标识phyID进行匹配phy_dev和phy_drv是通过phy_bus_match函数进行匹配,匹配成功后会建立链表链接,具体流程如下图: 返回总目录......

DSMGUOGUO的博客 1099

pytorch实现基本的logistic和softmax回归实验(手动+torch)

前提:不是前馈神经网络,没有隐藏层。 一:Logistic回归实验–人工构造数据集,手动构造模型 要求: 动手从0实现logistic回归,实现二分类,人工构造数据集,并分析loss、训练集、测试集的准确率。(要求从零实现二元交叉熵) 实验过程: 1.1人工构造数据集 1. # #自定义数据---训练集 2. num_inputs = 2 3. n_data = torch.ones(1500, num_inputs) # 数据的基本形态 4. x1 = torch.normal(2 * n_d

qq_37534947的博客 1万+

持续集成之jenkins实践教程

Jenkins是当下持续集成领域无可取代的工具,此系列教程用于介绍如何使用Jenkins以及与其他工具结合使用的方法。

知行合一 止于至善 6615

在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch

文章目录在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch结论参考资料解释相关命令版本关系版本选择总结:实验 在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch 结论 使用conda虚拟环境 使用conda命令安装 最重要的是版本关系(python、cuda、cudnn、pytor或者tensorflow框架)的对应。 参考资料 tensorflow2.x安装 理清GPU、

纸上得来终觉浅,绝知此事要躬行! 3万+

DevOps - Jenkins 持续集成

Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动 化构建、测试和部署等功能。

IoTHub - 物联网开源技术社区 1621

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【DevOps】持续集成的流程及jenkins的介绍

文章目录前言jenkins的概念什么是DevOpsjenkins特性持续集成的流程总结 大家好,我是高胜寒,一个在教培行业不忘初心的人,本文是【循序渐进学运维】DevOps工具篇的第3篇文章-【DevOps】持续集成的流程及jenkins的介绍 【循序渐进学运维】DevOps工具篇 主要针对的是DevOps常用的工具,比如jenkins,gitlab, docker等工具的结合使用。 前言 持续集成,一定要有一个持续集成服务器的参与,而jenkins就是搭建持续集成服务器,能够完成自动化构建的一款非常好

互联网老辛 3667

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

持续集成工具Jenkins(一)

在传统的软件开发过程中,集成通常发生在每个人都完成了各自的工作之后,集成也可以理解为团队里的大家完成自己负责的模块后,将各个子模块集成为一个可以完成整体功能的完整模块。若不想使用上述的密码,我们也可以自己定义一个随机字符串,进入jenkins界面,点击右上角admin,点击设置,下拉找到“密码”,自己定义一个随机字符串,将自己定义的随机字符串保存下来,位置自由,若以后忘记了密码,可在 /var/lib/jenkins/users/admin 文件中,将字符串修改成自己定义的字符串,这样密码就修改成功了。

2301_82330629的博客 1640

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Azure DevOps与持续集成:Jenkins的自动化构建

恭喜你!🎉 你现在已经成功搭建了一个从Azure DevOps到Jenkins的持续集成流程。这意味着,每当有人提交代码到你的仓库,Jenkins就会自动运行构建、测试和部署流程。这不仅节省了大量手动操作的时间,还减少了人为错误,提高了软件开发的效率和质量。记住,持续集成只是DevOps旅程的一部分,接下来你还可以探索持续部署、监控、日志管理和故障恢复等高级主题。保持好奇,不断学习,你的DevOps技能会越来越强!如果你在实施过程中遇到任何问题,或者想要进一步优化你的CI/CD流程,欢迎随时提问。

java专栏 2414

jenkins持续集成

了解CI、CD的基本概念 掌握Jenkins的主从集群搭建 掌握Jenkins角色权限配置、分组配置、全局配置等核心配置的使用 掌握Jenkins的持久化原理及目录结构、文件备份与恢复 掌握pipeline声明式语法 熟练使用pipeline语法配置进行微服务项目基于docker容器的持续集成部署

2301_76387166的博客 944

基于GitLab+Jenkins的DevOps

Jenkins是Java语言开发的一款开源 CI/CD 软件,用于自动化各种任务,包括项目的拉取、项目构建、以及项目部署等功能。中文官网地址:https://www.jenkins.io/zh/首先开发人员代码提交到仓库;然后Jenkins 作为持续集成工具,使用 Git 工具到仓库拉取代码到集成服务器,再配合 JDK,Maven 等完成代码编译、测试、审查、打包等工作;最后Jenkins把生成的 jar 或 war 包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用;

小白的博客 1674

微服务下的持续集成-Jenkins自动化部署GitHub项目

文章目录一、DevOps概念二、为什么要做持续集成三、常见云服务四、手动部署Jenkins五、Jenkins + Maven +Git 自动化继承/测试 一、DevOps概念 持续集成服务(Continuous Integration,简称 CI) 它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。 持续集成指的是只要代码有变更,就自动运行构建和测试,反馈运行结果。确保符合预期以后,再将新代码"集成"到主干。 持续集成的好处在于,每

牧小农 4254

DevOps - Jenkins 持续集成 Spring Cloud 项目

Jenkins 持续集成 Spring Cloud 项目,Jenkins、GitLab、Kubernetes、Helm 搭建 CI/CD流水线。

IoTHub - 物联网开源技术社区 1294
上一篇: 基于python+unittest +requests接口测试
下一篇: 最全的linux操作命令
TestingGDR
博客等级 码龄8年 496粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值