文章目录
前言
一、持续集成
1、软件开发生命周期
2、软件开发瀑布模型
优点
优点:速度快、简单易用,只关注前阶段,不关注后阶段,为项目提供了按阶段划分的检查节点
缺点
每一个节点划分固定,无法返回/耽误时间/浪费资源/每个阶段产生大量文档,极大的增加了工作量/
等到产品最后一步结束才能可观结果,增加开发风险/不适应用户需求的变化
二、敏捷开发
1、迭代开发
案例
SpaceX 公司想造一个大推力火箭,将人类送到火星。但是,它不是一开始就造大火箭,而是先造一个最简陋的小火箭 Falcon 1。结果,第一次发射就爆炸了,直到第四次发射,才成功进入轨道。然后,开发了中型火箭 Falcon 9,九年中发射了70次。最后,才开发 Falcon 重型火箭。如果SpaceX 不采用迭代开发,它可能直到现在还无法上天
2、增量开发
中小型公司,目的控制成本
案例
房产公司开发一个10栋楼的小区。如果采用增量开发的模式,该公司第一个迭代就是交付一 号楼,第二个迭代交付二号楼 每个迭代都是完成一栋完整的楼。而不是第一个迭代挖好10栋楼的地基,第二个迭代建好每栋楼的骨架,第三个迭代架设屋顶.
3、敏捷开发
核心思想-------》<解耦>
优势
优势:早期交付---->降低成本---->降低风险---->及时了解市场需求,降低产品不适用风险
三、什么是持续集成
到达主干之前,必须自动化测试,只要一个测试用例失败,不可集成(规避成本和时间)
团队可以快速的从一个功能到另一个功能
四、CI的组成要素
组成要素
1、一个自动的构建过程, 从检测代码,编译,测试,结果、测试全部都是自动完成
2、一个代码存储库,需要版本控制软件来保障代码的可维护性,一般使用SVN/GIT
3、一般使用码云Gitee国内的github/一般搭建私有仓库/
4、一个持续集成服务器,jenkins完成
5、开发------SVN/GIT-----ci/cd编译、构建、部署------测试环境-----运维(迁移【数据迁移】按亿为单位 以PB级别)生产环境
优势
降低风险、修复代价少
健康的检测
减少重复工作
提供部署单元包便于测试工程师单元测试
提高质量
五、Jenkins
在这里插入代码片是一款流行的开源持续集成工具,广泛用于项目开发,具有自动化构建,测试和部署等功能
1、开源java语言开发持续集成工具、支持持续集成,持续部署------>JDK
2、易于安装部署配置:Yum安装,下载项目包----<war包>----/通过docker容器快速安装部署。方便web界面部署管理
3、RSS/E-mail通过RSS发布构建完成时通过e-mail通知,生成JUNIT/TestNG测试(升级后邮件配置不同,需重视)
4、分布式构建:搭建jenkins集群
5、文件识别:jenkins跟踪哪些构建生成哪些jar
6、丰富的插件支持:git/svn/maven/docker
六、搭建java环境
第六步:点击C盘
第七步:点击programfilm
第八步:点击java
第九步:点击jdk1.8.0_152
第十步:点击bin
第十一步:点击javac
第十二步:此电脑属性
第十三步:高级设置
第十四步:环境变量
第十五步:系统变量
第十六步:\bin\地址(此地址为:C盘-->javac所有地址)
第一步:安装
第二步:换路径
第三步:点击64/java/add
第四步:点击安装
第五步:自动生成到指定路径中
第六步:稍后重启
第七步:完成
第八步:进入软件/bin中
第九步:将jetbrains-agent复制进/bin中
第十步:在/bin中编辑idea64.exe.vmoptions加入以下内容
-javaagent:G:\IntelliJ IDEA 2019.3.1\bin\jetbrains-agent.jar
第十一步:复制激活码
第十二步:打开intellij IDEA应用程序将复制的激活码粘贴进去即可
第十三步:打开intellij IDEA
第十四步:create New project
第十五步:菜单选中Maven
第十六步;右侧界面1、将Creat from archetype打上勾。2、下面选择以webapp结尾的选项
第十七步:修改Name后,文件的路径可以放在指定的盘中
七、Gitlab代码托管服务器安装
1、什么是Gitlab
2、安装Gitlab
第一步
yum install -y policycoreutils openssh-server openssh-client postfix
第二步
systemctl enable sshd && sudo systemctl start sshd
第三步
systemctl enable postfix && systemctl start postfix
第四步
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
第五步
rpm -ivh gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
第六步
vim /etc/gitlab/gitlab.rb
23 external_url 'http://192.168.199.10:82'
1112 nginx['listen_port']=82
gitlab-ctl reconfigure
gitlab-ctl restart
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload
第一步:create a group
第二步:写入团队名称
第三步:选择可见范围
private---私人
internal---内部
public---公开
第四步:点击创建/create group按钮
第一步 填写个人信息
第二步 创建用户/add people
第三步 修改 edit --目的修改密码
第四步 修改密码
第五步 提交修改信息
第一步 点击group
第二步 点击群组名称
第三步 点击member
第四步 为群组添加成员
第五步 为成员赋予角色
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM 可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个 权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限
第六步 点击确认
点击group
点击members
点击owner
点击add to group
第一步 点击new project
第二步 填入项目名称
第三步 点击确认,项目创建完成
点击new project
对接形式