OpenShift 4 - 通过Maven镜像加速Java应用构建速度

本文详细介绍如何在OpenShift4.x环境中使用HOL教程进行Java应用的构建与部署,包括创建项目、设置Nexus镜像仓库、构建Java应用、优化构建流程及利用本地Maven缓存加速构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenShift 4.x HOL教程汇总

  1. 创建一个新项目
$ oc new-project maven-mirror
  1. 根据sonatype/nexus镜像创建应用,然后查看“nexus-1-xxxxx”的状态,直到是Running的状态。
$ oc new-app sonatype/nexus
$ oc get pod -w
NAME             READY   STATUS      RESTARTS   AGE
nexus-1-deploy   0/1     Completed   0          21m
nexus-1-q5x2m    1/1     Running     0          21m
  1. 根据Service生成Route,并查看Route访问地址。
$ oc expose svc/nexus
$ oc get route nexus -o template --template '{{.spec.host}}'
  1. 在浏览器中打开"http://<ROUTE>/nexus"地址访问nexus控制台。
    在这里插入图片描述
  2. 点击控制台左侧的Repositories,再进入Public Repositories,然后在Browse Index中确认当前没有任何Java库。
    在这里插入图片描述
  3. 创建一个基于Java应用的Build,然后持续查看jee-ex-1的状态直到为Complete,确认build花的时间。
$ oc new-build openshift/wildfly-100-centos7:latest~https://github.com/openshift/jee-ex.git
$ oc get build -w
NAME       TYPE     FROM   STATUS   STARTED   DURATION
jee-ex-1   Source   Git    New
jee-ex-1   Source   Git    Pending
jee-ex-1   Source   Git    Running   4 seconds ago
jee-ex-1   Source   Git@5e2ca5e   Running   12 seconds ago
jee-ex-1   Source   Git@5e2ca5e   Running   2 minutes ago
jee-ex-1   Source   Git@5e2ca5e   Running   2 minutes ago
jee-ex-1   Source   Git@5e2ca5e   Complete   2 minutes ago    2m54s
  1. 在Nexus中的Public Repositoies中空的。
  2. 执行以下命令再次build一次,并确认build所需要的时间(和第一次很接近)。
$ oc start-build jee-ex
$ oc get build -w
NAME       TYPE     FROM          STATUS     STARTED          DURATION
jee-ex-2   Source   Git           New
jee-ex-2   Source   Git           Pending
jee-ex-2   Source   Git           Running    4 seconds ago
jee-ex-2   Source   Git@5e2ca5e   Running    12 seconds ago
jee-ex-2   Source   Git@5e2ca5e   Running    2 minutes ago
jee-ex-2   Source   Git@5e2ca5e   Running    2 minutes ago
jee-ex-2   Source   Git@5e2ca5e   Complete   2 minutes ago    2m53s
  1. 查看第二次build的日志,确认依赖文件都是从外部网站https://repo1.maven.org/maven2下载的。
$ oc logs build/jee-ex-2

在这里插入图片描述
10. 查看nexus服务。

$ oc get svc
NAME    TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE
nexus   ClusterIP   172.30.5.80   <none>        8081/TCP   66m
  1. 再次执行以下命令,启动一次新的Build并指定对应环境参数(设置了“MAVEN_MIRROR_URL”参数,地址中“nexus:8081”为nexus服务名称和端口),然后查看Build完成所需时间。
$ oc start-build jee-ex --env=MAVEN_MIRROR_URL=http://nexus:8081/nexus/content/groups/public 
$ oc get build -w
NAME       TYPE     FROM          STATUS     STARTED          DURATION
jee-ex-3   Source   Git           New
jee-ex-3   Source   Git           Pending
jee-ex-3   Source   Git           Running    4 seconds ago
jee-ex-3   Source   Git@5e2ca5e   Running    25 seconds ago
jee-ex-3   Source   Git@5e2ca5e   Running    2 minutes ago
jee-ex-3   Source   Git@5e2ca5e   Complete   2 minutes ago    2m48s
  1. 查看最后一次Build的日志,确认Build是从http://nexus:8081下载的依赖文件。不过由于在Maven中还没有缓存,所以这次Maven还会先从外部下载所需文件然后再放进缓存中,因此Build所需时间和以前基本相同。
$ oc logs build/jee-ex-3

在这里插入图片描述
13. 查看Nexus控制台,确认Public Repositories中已经有Maven的缓存文件了。
在这里插入图片描述
13. 再次运行Build,确认需要的Build时间会变短,这是由于Build所需的文件已经从本地Maven缓存中下载的了。

$ oc start-build jee-ex --env=MAVEN_MIRROR_URL=http://nexus:8081/nexus/content/groups/public 
$ oc get build -w
jee-ex-4   Source   Git           Running    6 seconds ago
jee-ex-4   Source   Git@5e2ca5e   Running    11 seconds ago
jee-ex-4   Source   Git@5e2ca5e   Running    About a minute ago
jee-ex-4   Source   Git@5e2ca5e   Running    About a minute ago
jee-ex-4   Source   Git@5e2ca5e   Complete   About a minute ago   1m48s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值