【Jenkins】持久化

文章目录

持续集成CI

持续集成(Continuous integration,简称CI)指的是频繁地(一天多次)将代码集成到主干。

持续集成的目的就是让产品可以快速迭代,同时还能保证高质量,它的核心措施是将代码集成到主干之间,

必须通过自动化测试,只要有一个测试用例失败,就不能集成。

通过持续集成,团队可以快速从一个功能到另一个功能,简而言之,敏捷开发很大一部分要归功于持续集成。

它的好处主要有两个。

1、快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

2、防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

持续部署CD

对于一个完整、成熟的 CI/CD 管道来说,最后的阶段是持续部署。

持续部署的目标是,代码在任何时刻都是可部署的,可以自动将应用发布到生产环境。

实际上,持续部署意味着开发人员对应用的改动,在编写完成后的几分钟内就能及时生效(前提是它通过了自动化测试)。

这更加便于运营团队持续接收和整合用户反馈。

持续部署的前提是能自动化完成测试、构建、部署等步骤。

部署

部署到linux服务器

复制代码
target> scp xxx.jar root@192.168.1.191:/root/

nohup java -jar xxx.jar &

firewall-cmd --state # 查看防火墙状态
firewall-cmd --list-ports # 查看所有放行的端口
firewall-cmd --add-port=8081/tcp # 防火墙开启端口
firewall-cmd --remove-port=8081/tcp

Excute shell

复制代码
mvn package
cd target 
ps -ef | grep jenkinsdemo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9 | true
nohup java -jar jenkinsdemo-0.0.1-SNAPSHOT.jar &

持续集成好处:

降低风险,由于持续集成不断去构建、编译、测试,可以早期就发现问题,所以修复代价就小一点。

减少重复性工作。

持续交付可供使用的版本。

持续部署已经包含在持续集成里面,持续部署的前提就是持续集成。

相关推荐
分布式存储与RustFS1 分钟前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
Lansonli1 小时前
大数据Spark(八十八):Spark任务资源之Standalone集群测试
java·服务器·spark
budingxiaomoli1 小时前
Spring AOP
java·spring·java-ee
特立独行的猫A1 小时前
Ionic + 仓颉语言的 cj-tauri 开发框架实战:开发精美移动端 APP
java·后端·python
nice_lcj5201 小时前
LRU 缓存入门:它是什么、怎么用、面试怎么手写
java·数据结构·缓存·面试·lru
雪落漂泊2 小时前
Liunux进程(七):程序控制篇(中)
linux·运维·windows
文丑颜不良啊2 小时前
LeetCode2741~2760题目解析
java·leetcode
分布式存储与RustFS2 小时前
工作流脚本和依赖 JAR 散在各节点本地盘:用 DolphinScheduler 资源中心接到 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
金銀銅鐵12 小时前
带您看懂字节码指令(二):空循环里有什么
java·后端·ai编程
吴名氏.13 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent