KubeSphere内网环境实践Maven项目流水线

KubeSphere 内网环境实践Maven项目流水线

kubesphere官方给出的流水线都是在公网环境下,并对接github、dockerhub等环境。本文在内网实践部署,代码库使用内网部署的gitlab,镜像仓库使用harbor。

1. 环境准备

1.1 部署kubesphere环境

参考官方文档完成:

https://www.kubesphere.io/zh/docs/v4.1/03-installation-and-upgrade/02-install-kubesphere/02-install-kubernetes-and-kubesphere/

本文使用到的版本如下:

  • KubeSphere 版本 : v3.4.1

  • kubernetes 版本: v1.23.15

  • 操作系统版本:Ubuntu 20.04.2 LTS

1.2 部署kubesphere devops环境

devops作为kubesphere的扩展组件使用,需要在扩容组件中安装kubesphere。

1.3 devops用户指南完成基本的项目和人员创建

并创建对应的项目和人员账号。本文记录流水线配置的关键点,配置步骤主题参考kubesphere官方文档:

  1. Devops用户指南:https://www.kubesphere.io/zh/docs/v4.1/11-use-extensions/01-devops/
  2. 构建和部署 Maven 项目:https://www.kubesphere.io/zh/docs/v3.3/devops-user-guide/examples/a-maven-project/

2. 代码导入私有仓库并修改

官方给出的maven示例项目代码库地址:https://github.com/kubesphere/devops-maven-sample.git,这里将代码库导入到本地部署的gitlab环境,可以离线下载然后导入(通过git操作),或者通过gitlab导入项目的功能完成(gitlab需要联网)。

导入完成后对于代码库内容进行必要的修改。

2.1 dockerfile修改

修改代码仓库根路径下的Dockerfile-online文件,主要修改构建的基础镜像,此处指向内网的harbor仓库,需要提前在harbor仓库中上传java镜像:

# FROM java:8u92-jre-alpine
FROM 10.210.10.236:30002/java/java:8u92-jre-alpine

WORKDIR /home

COPY target/*.jar /home

ENTRYPOINT java -jar *.jar

使用jre镜像作为应用的基础镜像,将编译构建的jar包打包后作为应用部署的镜像。

2.2 部署YAML修改

官方demo中,部署使用的是dockerhub镜像仓库,这里改为内部的harbor仓库。修改deploy/all-in-one/文件夹下面的devops-sample.yaml文件,主要修改image 路径:

          	  # image: $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER
              image: $REGISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER

说明

image url采用环境变量的方式传递,上述环境变量名称需要与下文中jenkinsfile中定义的环境变量保持一致。

2.3 流水线对接内部的nexus仓库

Nexus 是存储、组织和分发制品的存储管理器。

参考文档:https://www.kubesphere.io/zh/docs/v3.3/devops-user-guide/examples/use-nexus-in-pipelines/

在 GitHub 仓库修改 pom.xml

修改代码仓库根目录下的文件 pom.xml,修改 <distributionManagement> 代码片段。设置 <id> 并使用内网Nexus 仓库的 URL。

这里按需进行修改,本文使用的代码示例devops-maven

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值