小编是根据某站的某马的教程学习的,在这里做一个笔记梳理和知识总结,水平有限,如果有什么地方不对或者不清晰,希望大家多多指教哈!!!!
目录
持续集成以及Jenkins介绍
软件开发生命周期
目前的软件开发流程相当成熟,就像流水线一样,这种软件的开发的流程就叫做敏捷开发。敏捷开发的核心是迭代开发与增量开发。
举个例子哈,现在有一个软件项目或者需要二开的项目(就是需要你缝缝补补的那种),开发只有两三个人,项目的代码在开发的过程中冲突会比较小,然后你们之间选一个老大哥进行代码的整合出包,然后将包交给实施上测试环境并且测试,每天都这样来一次,你们的老大哥可能就算累一点但是还能挺住。
当有十个人的时候,是不是就已经不太现实了,就想专门找一个和并代码出升级包了。当然,这样加一个人是能够解决当前的燃眉之急,可是,目前的软件实现都是依靠不同部门实现不同模块,就用人力系统举例,考勤模块和薪资模块分开并行开发,交给两个团队。这两个团队将开发好的代码上传的git中,当这样的团队多一点的时候,比如有十多个,这样的情况下是不是就需要一个团队(持续集成CI)专门去管理他们的git源码,每天进行编译出包,然后将编译好的项目周期性的移交给测试团队,测试完成之后把发现的问题进行汇总提交给不同的开发组,将测试通过的那部分在部署到环境上面去。
这样就实现了流程的闭环,这个过程中就涉及了开发、测试、持续集成、持续部署。所以,学习持续集成是非常必要的一件事。
提一个问题哈,大家知道为什么每次出了包测试完成后还要部署到仿真环境呢,为什么不最后一次部署完整版呢?哈哈哈,其实做过开发解决过Bug的童鞋都清楚,代码Bug不是最痛苦的,痛苦的就是明明是同样的代码,测试环境没问题,上了仿真或者正式环境就是报错,真的是,碰到这种,常常头都大了,如果刚好上线的那天出现了这种问题,大概率是要延期啊!!!熬夜赚的奖金,大家都得没,所以为了杜绝这种由于环境差异导致的问题,持续部署仿真环境是非常有必要的。
持续集成CI
频繁地将代码集成到主干,目的就是让产品可以快速迭代,同时还能保持高质量。
Jenkins介绍
Jenkins 是一个用 Java 编写的开源自动化工具,带有用于持续集成的插件。Jenkins 用于持续构建和测试您的软件项目,从而使开发人员更容易将更改集成到项目中,并使用户更容易获得新的构建。它还允许您通过与大量测试和部署技术集成来持续交付软件。
项目环境搭建
这里开始模仿真实的项目环境,包含了GitLab代码仓、Python邮件提醒项目、Jenkins集成环境。这里就不安装数据库了,后续学习强化Python项目的时候在进行使用。
配置虚拟机网卡信息
首先我们在这里解决一个问题,就是我们的服务器的网卡信息,要想让虚拟机能够在我们本地ping通访问,就必须配置网卡,否则我们接下来的活没法干啊,就算啥都安装好了,访问不到有毛用是不是。
来吧,给大家提供教程!!!!
Linux系统网卡配置详细教程!_linux 网卡配置-CSDN博客
vim中 E212:无法打开并写入文件的解决办法: 将Linux用户切换到root
配置完成,让我们检验一下吧
OKOK,纳爱斯,我们可以着手安装产品了!!!!!
GitLad代码仓库服务器安装
GitLad和GitHub一样属于第三方基于Git开发的产品,免费开源,GitLab可以部署到自己的服务器上,数据库等一切信息都掌握在自己的手上,更适合团队内部协作开发。
GitLad安装:
1.安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix
2.启动ssh服务&设置为开机自启动
systemctl enable sshd && sudo systemctl start sshd