持续部署CICD

目录

(1)CICD的开展场景

(2)项目实际应用


CICD 是持续集成(Continuous Integration)和持续部署(Continuous Deployment)简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug 的概率,在新代码从开发到部署的过程中,尽量减少人工的介入。

(1)CICD的开展场景

1.编译部署

代码提交后的自动构建、自动部署、构建部署结果通知

目前开发leader merger(合并)代码之后即可直接自动构建,自动部署,以及部署结果通知

2 单元测试

开发通过 Junit编写单元测试脚本,开展单测,获取单测报告、jacoco代码覆盖率报告(提测前的两个报告+需规:代码设计方案+Sonar测试报告);

测试覆盖率 :一种测试技术指标,它表明我们的测试用例是否真正完全覆盖了应用程序代码中的各种可能以及在运行这些测试用例时执行了多少代码。测试覆盖可以分为:语句覆盖、分支覆盖、路径覆盖、条件覆盖、边界值覆盖;通过jacoco插件,可以衡量单测的代码覆盖率,得到测试覆盖率结果

3 代码扫描

代码提交自动触发代码扫描,扫描结果计入项目质量,记录跟踪问题,直至问题闭环解决

4 自动化测试

5.全链路测试展示 :

(2)项目实际应用

1.工程引入单元测试

工程配置文件pom.xml文件中配置surefire插件

java 复制代码
<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <skipTests>false</skipTests>
            </configuration>
        </plugin>
</plugins>

其中skipTests标签为:跳过单元测试标签(false表示不跳过单元测试,做单元测试需要执行单测脚本,故需设置为false或删除此标签)

2.工程pom.xml文件引入:jacoco插件

java 复制代码
<groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.2</version>
    <executions>
        <execution>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <!-- attached to Maven test phase -->
        <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>
相关推荐
pengdott2 天前
Rocky linux9安装最新版sonarqube-26.10.0
ci/cd·devops·sonarqube
lsc_blog4 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
AKA__Zas4 天前
接口自动化测试(1.0 初认识
python·ci/cd·学习方法
十二同学啊5 天前
Go 工程化详解:项目结构、代码规范、测试体系与 CI/CD 实践
ci/cd·golang·代码规范
Sakura_j_h_6 天前
GitHub Actions 打包 Windows exe:中文编码与产物上传
windows·ci/cd·打包发布·github·pyinstaller·github actions
砚底藏山河6 天前
量化回测可复现流水线CI化
java·python·ci/cd·金融
X1A0RAN6 天前
Jenkins CI 流水线优化实践:基于提交指纹的任务缓存
缓存·ci/cd·jenkins
长不大的杨瑞杰6 天前
OpenCode v2 GitLab 集成实战:Issue 驱动开发、MR 审查与 CI/CD 最小权限
人工智能·ci/cd·gitlab·ai编程·opencode
2501_915921439 天前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
蒸鱼Yuzheng11 天前
性能 CI 成本优化:设备分钟、风险分层与自适应测试选择
自动化测试·ci/cd·性能测试·测试平台·成本优化