持续部署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>
相关推荐
IT-民工211101 天前
CI/CD 实践总结
运维·ci/cd·自动化
蚊子不吸吸2 天前
DevOps开发运维简述
linux·运维·ci/cd·oracle·kubernetes·gitlab·devops
老攀呀3 天前
CI/CD 的概念
ci/cd
aklry3 天前
CI_CD
ci/cd
flying robot6 天前
GitHub Actions的 CI/CD
ci/cd·github
程序员雷叔6 天前
自动化测试类型与持续集成频率的关系
功能测试·测试工具·jmeter·ci/cd·单元测试·测试用例·postman
檀越剑指大厂7 天前
【MySQL系列】理解 `utf8mb4` 和 `utf8mb4_unicode_ci`
数据库·mysql·ci/cd
划碎、时光8 天前
Jenkins Pipeline 部署总结
ci/cd·jenkins
IT-民工211108 天前
Tekton 与其他 CI/CD 工具相比,有什么不同之处
ci/cd·tekton
一叶飘零_sweeeet8 天前
Jenkins 发布 Java 项目:高效持续集成与部署
java·ci/cd·jenkins