Subversion (SVN)

Jenkins自动发送邮件配置及定时构建

大兔子大兔子 提交于 2020-12-18 18:21:43
前言 在配置之前,我们需要安装好Jenkins,对于如何安装不在赘述,看我之前一篇安装教程(或者找度娘,教程很多)。接下来我们开始详细讲解build运行完成后自动发送邮件和定时自动构建build 系统配置 安装插件 我们在安装Jenkins的时候可以选择安装,也可以在安装之后选择安装需要的插件 1.点击Jenkins面板[Manage Jenkins] 2.管理Jenkins页面选择[Manage Plugins]插件管理 3.切换窗口到可选插件,右上角搜索插件 Email Extension Template Plugin 4.安装后需要重新启动Jenkins(安装的时候有重启的选项,勾选上就可以了,安装完会自动重启),我这边已经安装好了 系统配置 同样,在管理Jenkins页面,点击[Configure Sysyem]系统配置 1.配置Jenkins Location 这里没啥可说的Url就是自己电脑的ip地址,后面跟Jenkins的默认端口 2.配置Extended E-mail Notification 字段说明:默认收件人可以是多个,多个接受者使用逗号分隔 正文代码 <! DOCTYPE html > < html > < head > < meta charset ="UTF-8" > < title > ${ENV, var="JOB_NAME"}-第${BUILD

CI/CD是什么?

好久不见. 提交于 2020-12-18 01:29:08
CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)。 具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持。 CI 是什么?CI 和 CD 有什么区别? 缩略词 CI / CD 具有几个不同的含义。CI/CD 中的“CI”始终指持续集成,它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。 CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。 持续 交付 通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。 持续 部署 (另一种“CD”

DevOps中的测试实践

帅比萌擦擦* 提交于 2020-12-15 15:12:28
万物皆可pipeline,流程自动化解放生产力。在DevOps的pipeline中,我们发现测试环节也需要一套流水线化的能力,来保证研发流程的大批pipeline稳定高品质交付。 下面介绍下DevOps中如何构建高水平全面的测试能力。 文化、流程、组织结构、技术发生变革,对测试提出新要求 · DevOps文化对测试带来的新要求(文化) 为适应市场的快速变化,要求企业的产品快速迭代,柔性应对用户需求,滋生了DevOps。 《持续交付2.0》中,作者将DevOps简化概括为2个环:价值探索和快速验证。 价值探索是快速发现和识别外部客户的真实需求,为其创造价值点。"快速验证环"要求企业在找到业务问题制定业务目标后,快速实现和落地价值点。 测试属于"快速验证环",过程中要求开发/测试/运维的角色紧密配合,高效高质地落地验证新特性。 · 在DevOps中构建测试工作的难点(流程) 在DevOps趋势下,测试部门从原先的大量集中测试,变成了高频快速测试。 原先大部分企业采用纯手工测试的方式,从根本上无法适应DevOps的高频快节奏需求。滋生了对自动化测试的诉求。 · 头部企业测试部门的现状(组织架构) · 人力外包比重高: 金融/通信/航空等大型企业的外包人力与正式人力之比,往往超过5:1,人员流动性高,素质参差不齐。对工具和系统的稳定性和使用门槛提出要求。 · 从集中到分散又回归集中:

Java工程师需要会什么?岗位要求

老子叫甜甜 提交于 2020-12-12 14:52:45
  IT行业作为新兴行业近几年无论是从就业难度还是岗位待遇都是各行的领头羊,Java工程师在这其中占很大部分,成为一个Java工程师需要掌握什么技能呢?   1.CoreJava,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了。   2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细。   3.I/O,Socket编程,首先要熟悉Java中Socket编程,以及I/O包,再深入下去就是JavaNIO,再深入下去是操作系统底层的Socket实现,了解Windows和Linux中是怎么实现socket的。   4.JVM的一些知识,不需要熟悉,但是需要了解,这是Java的本质,可以说是Java的母体,了解之后眼界会更宽阔,比如Java内存模型(会对理解Java锁、多线程有帮助)、字节码、JVM的模型

在 Linux 中用 Meld以图形方式比较文件和文件夹

我怕爱的太早我们不能终老 提交于 2020-12-11 19:57:26
如果你使用的是桌面 Linux ,你可以使用 GUI 应用来轻松比较两个文件是否有任何差异。有几个 Linux 中的 GUI 差异比较工具。我将在本周的 Linux 应用亮点中重点介绍我最喜欢的工具 Meld。 如何比较两个相似的文件来检查差异?答案显而易见,就是使用 Linux 中的 diff 命令 。问题是,并不是每个人都能自如地在 Linux 终端中比较文件,而且 diff 命令 的输出可能会让一些人感到困惑。 以这个 diff 命令的输出为例: 这里肯定涉及到一个学习曲线。然而,如果你使用的是桌面 Linux,你可以使用 GUI 应用来轻松比较两个文件是否有任何差异。有几个 Linux 中的 GUI 差异比较工具。我将在本周的 Linux 应用亮点中重点介绍我最喜欢的工具 Meld。 Meld:Linux(及 Windows)下的可视化比较和合并工具 通过 Meld,你可以将两个文件并排比较。不仅如此,你还可以对文件进行相应的修改。这是你在大多数情况下想做的事情,对吗? Meld 还能够比较目录,并显示哪些文件是不同的。它还会显示而文件是新的或是缺失的。 你也可以使用 Meld 进行三向比较。 图形化的并排比较在很多情况下都有帮助。如果你是开发人员,你可以用它来了解代码补丁。Meld 还支持版本控制系统,如 Git、Mercurial、Subversion 等。 Meld

Windows搭建Git、TortoiseGit

风格不统一 提交于 2020-12-05 23:37:14
1. Git 简介: Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。 Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。Git 与 SVN 区别点: GIT 是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。 GIT 把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。 GIT 分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。 GIT 没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。 GIT 的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。 2. Git 安装: 下载 下载地址: https://git-scm.com/downloads 安装 第一步:双击下载好的git安装包

如何成为一名真正专业的程序员

泄露秘密 提交于 2020-12-05 20:56:38
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。要想成为一名专业的 程序员 ,仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。 如果你想要成为一名开发人员,下面就是一些你必须要掌握的最重要的技能(编码这个要求就不赘述了,这太理所当然了)。 学会并擅长沟通 虽然一些媒体上面将编程描述为一种“闭门造车”的行为,但事实上,它涉及到很多与人沟通和协作的事宜。如果你工作于一家公司,那么你会成为开发团队的一部分,并且得和其他人交流和合作。 然而,Jeff Bargmann,Lifehacker最喜欢Fences和Bins的开发人员强调,知道如何清晰可信地说话和写作对于那些独立的开发人员甚至更加重要: 学校课程一点也没有教我们学习必要的书面表达技巧。(就教我们编程,对不?)在你的职业生涯中——如果你以后想继续晋升的话——那么你需要花大量的时间用于清楚简洁、令人信服的沟通交流——从你需要发电子邮件给同事、经理、客户/合作伙伴、甚至有一天可能是高管仅这个方面想,就足够说服人的了。但是由于我们开发人员习惯于比其他人做事快两倍(我们都很聪明,对吧?!),所以令人沮丧的是

Android 开发两年面试总结

痴心易碎 提交于 2020-12-04 10:09:07
面试时间:2020.11.19-2020.11.25 面试公司:6家 旺龙智能、小虎互联、尚游、小鹅通、编程猫、车保中服、旺龙智能 骑驴找马面试:2020.09.06-2020.11.13 到面:几米、来画、尚米、伊欧乐、ETEKCITY、木易炎黄、咸鱼游戏、私募排排、威富通、东风日产、创维、TCL 电面:百度、阿里、腾讯、网易 沟通软件:Boss直聘 面试方向:项目、java基础、android基础、网络 项目: 简历按时间顺序,从 最新-最久 ,写清并说清自己负责的内容,细化到如何实现的,将整个流程烂熟在脑子里。 ①:针对视频流项目的问题: 说一下一个视频的一个整体播放流程? 说一下它的编码和解码的采用的是? 播放的协议? ijkMedia 与 exoMedia 与android 原生的区别和联系? 怎么去看他的播放率?成功率? 怎么解决秒开? ② :针对手机与机顶盒局域网通信的项目的问题: TCP与UDP的区别? 为什么TCP是以流的方式传输? HTTPS的加解密方式以及三次握手、四次分手?对称加密及非对称加密 传输过程中采用的是那个密钥? 通信中采用的协议? android: 基础: Handler的讲解?Looper与Handler的关系?一个线程多个Handler是如何进行目标发送和接收的?消息是如何进行插入和删除的? View的时间分发机制?横竖冲突、横横冲突?

《我和PowerBI的故事》分享之十五个阶段历程

送分小仙女□ 提交于 2020-12-04 07:42:06
在 PowerBI 五周年的日子,收到了很多伙伴发来了故事,有的很长,直接发了邮件,相信这些故事,可以启发到同样的伙伴。 原文 说到感想,我真是感触颇深,简单讲一下这两年的心路历程。 18年5月份我到了施工单位的物资管理部,当时我对物资工作一无所知, Excel同样如此,连IF函数都没用过几次 。 第一阶段:Excel小白追求的数据规范性 但我很快得到了同事领导的认可,除了工作态度方面兢兢业业外,也有数据管理方面的原因,当时项目上同种材料有七八种不同的叫法,规格型号也是如此,很多项目台账记录很混乱,查询对账都不方便。但我针对每种材料都会百度确定最规范的叫法,并在工作中纠正部门同事和供方,做台账时严格按照规范来做,供方跟我对账时基本都是一分钟就完事,同事们也喜欢找我查询数据。 第二阶段:怕麻烦的小白追求信息对称性 当时物资部只有我一个人,现场比较忙,基本上一天到晚都在现场,不在办公室,每次别人找我查询数据的时候都很纠结,跑来跑去浪费时间体力,频繁发送台账繁琐,版本还乱,当时就想能否让别人从自己的电脑上看到我电脑上最新的台账,说干就干,就开始了研究之旅,pass掉了百度云盘、在线编辑共享、局域网之后,我把目标盯上了svn,研究过程中成功报废了我的老笔记本电脑,换了一个台式机接着搞,功夫不负有心人,我成功了。 第三阶段:多人协作引发的台账问题 随着项目的开展,人手不够,开始增加人手