java 并行流水线_在新流水线使用 Java 应用演示

本文演示如何在Spring Boot应用中创建并行流水线,通过Dockerfile进行构建,使用DaoCloud Services进行测试、构建和发布。详细介绍了从添加Dockerfile、配置流水线到设置SonarQube代码审查的全过程。
摘要由CSDN通过智能技术生成

项目中。您可以在 GitHub 找到本项目并获取本文中所提到的所有代码文件。

创建 Spring Boot 项目

0f29be36423abc70969401acaf8778e2.png

首先,我们建立一个基于 Spring Boot 的 Web 应用。填写完项目信息后,在 Dependencies 中选择 Web ,然后点击 Generate Project 按钮,默认下载一个基于 Maven 的项目模板。

添加项目代码

在LabsDemoApplication.java 文件中,添加一个方法,加上@RequestMapping注解,并添加类注解@RestController。

@SpringBootApplication

@RestController

public class LabsDemoApplication {

public static void main(String[] args) {

SpringApplication.run(LabsDemoApplication.class, args);

}

@RequestMapping("")

public String hello() {

return "Hello! Docker!";

}

}

运行程序,打开浏览器,或者使用 curl 访问如下地址:

http://127.0.0.1:8080

如果成功的话,您将会看到Hello! Docker!的文字。

接下来,我们一起来看看如何将这个应用以docker 的方式通过 DaoCloud 进行构建。

添加 Dockerfile

在此我们推荐安全构建的方式,能够更好的保护您的源码。首先在应用根目录下建立 Dockerfile-package 文件,内容如下:

FROM maven:3.5.0-jdk-8-alpine

LABEL maintainer "misha"

WORKDIR /project

ADD . /project

RUN mvn package -Dmaven.test.skip=true

CMD ["mvn"]

因为 Spring Boot 框架打包的应用是一个包含依赖的 jar 文件,内嵌了 Tomcat 和 Jetty 支持,所以我们只需要使用包含 Java 的 Maven 镜像即可。写好打包文件后,接着我们编写 Dockerfile-publish 文件:

FROM java

LABEL maintainer "misha"

COPY /project/target/labs-demo-0.0.1-SNAPSHOT.jar /usr/src/myapp/labs-demo-0.0.1-SNAPSHOT.jar

WORKDIR /usr/src/myapp/

ENTRYPOINT java -jar labs-demo-0.0.1-SNAPSHOT.jar

DaoCloud Services 使用小技巧:

在 pom.xml 文件中加入Nexus daocloud可以优化流水线的速度哦!

nexus-daocloud

Nexus daocloud

http://nexus.daocloud.io/repository/maven-public/

接下来我们开始正式进入 DaoCloud Services 的世界吧!

DaoCloud Services 使用示例

创建新项目

通过 Github / Gitlab / Bitbucket / Coding绑定代码源或者通过 Git 地址进行代码源设置。或者通过 Git 地址进行代码源设置,点击 开始创建。

98e1dfb80483187d2ef1b45616d33696.png

设置流水线

回到我们的构建项目页,可以看到如下界面:

bbe787ad36323029ce9bbcdad3d81e3f.png

选择“流程定义”进行设置,在这里默认可以看到三个阶段:测试阶段、构建阶段和发布阶段,在每个阶段中您可以自定义需要的任务,详情请参考使用流水线持续发布应用。

732a6f3fd7e58ab76e7ddd320b24f54e.png

接下来,我们来具体看一下流水线应该如何定义!测试阶段

流水线支持对每个阶段进行操作,点击“测试阶段”右侧的“...”可以为阶段添加任务、重命名阶段名、在左/右侧添加新阶段、删除阶段:

befcca2fc12ca3537d838cd23f5fe509.png

选择“增加任务”或者“添加并行任务”,可以通过任务模板快捷创建该阶段新的任务。

点击添加任务,选择您需要的任务添加到您的流水线中。

f4e1f6f31d112ff763f18f1d95c58d57.png

示例使用 Sonar 进行代码审查,在此选择 Maven 测试:

409214566971283f049226a351a1b129.png

点击“ Maven测试 ”右侧的小齿轮图标,可以编辑和删除任务:

53ada6cbc673f7243db45b5f1c4aa39c.png

点击编辑任务,界面如下:

a245970e46b9ea014def58e14c066570.png

我们将 Sonar 相关配置填写进去(在此需要关联 Sonar 服务端,便于将代码质量审核报告推送及显示):

938a50d9d1a681f8fb7986417ecdbf1a.png

当流水线的该 Maven 任务被自动或手动触发后,会执行静态代码质量审查以及生成测试覆盖率报告,运行成功后可登陆 Sonar 的 Dashboard 查看审核结果:

9df8b9e1062c154e2ccb045cbd445be6.png

Sonar 的具体配置参见官方文档:SonarQube构建阶段

在此示例我们采用安全构建:

3f787bbc055fc31824657a53c93b5b71.png

在配置中选择我们前述写好的Dockerfile 进行构建:

7829979ec56d28ae6ce79c8f1f6fc617.png

在安全构建阶段,需要从构建准备的结果中提取 jar 文件,因此在“文件提取”一栏中需要知名目标文件路径。

2e844ebb50d37086966f6687fce11602.png

触发条件默认为任意分支或标签的提交,当然,您可以根据自己的需求自定义触发条件:

34ddfbd02720460e7ba4a4b7ebe104b2.png部署到 DCE

在发布阶段点击添加并行任务,按照您的需求快速选择发布目标:

0842ed50c6907701341ad5ebbcb0cbae.png

此时选择手动执行或任何更新代码都会触发“流水线”实现自动测试、构建和部署!

在流程定义页面,设置好的完整流水线逻辑会清晰的展现在您的眼前!

493f11fd20e291a1b69c2e5718f3913e.png

流水线开始工作之后,可以在执行记录页面随时查看流水线执行情况、状态及日志。

98a4242ec02f7d2f4ccc6022d1286170.png

到这里,流水线基本配置完成,当然,您可以按照自己的需要创建并行任务,一切由您掌控。

欢迎来到 DaoCloud Services 的世界,这里有您意想不到的精彩!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值