02-Jenkins配置编译项目

简介: 本文介绍Jenkins配置编译项目流程:从GitLab拉取代码,使用Maven/Node编译,Docker打包镜像并推送到CCE仓库,通过kubectl更新云上服务。涵盖后台app-web、system-server模块及前端Vue项目的自动化构建与部署配置要点。

02-Jenkins配置编译项目

Jenkins配置编译任务项目的大致流程:从gitlab上拉取程序运行 maven/Node 编译打包运行Dockerfile打包成镜像上传镜像到cce云上镜像仓库使用kubectl更新cce云上的负载镜像需要打包编译的内容:后台项目的app-web模块后台项目的system-server模块前端VUE项目后台编译以admin登录Jenkins,选择新建任务。任务名称:任意起,例如dev_myproject_java选择构建一个自由风格的软件项目(也可以选择复制,填写需要复制的任务的任务名称)General组:限制项目的运行节点:填写节点服务器的标签表达式,限制只在该服务器上运行任务。myproject_dev点击高级使用自定义的工作空间:填写源程序下载到的服务器路径。/root/build/source/myproject/myproject-vue显示名称:可以配置一个中文名,用于在列表页面展示。dev-后台-app源码管理组:选择GitRepository URL:代码路径。填写git@xxxxxx那个。http:xxxxx的没有设置会报错。从gitlab复制下来的路径需要进行调整,前面加上ssh://前缀,ip后面加上gitlab的22端口映射出来的端口号8022。例如:从gitlab复制出来的路径为git@192.168.xxx.xxx:myproject/myproject-vue.git,调整后为ssh://git@192.168.xxx.xxx:8022/myproject/myproject-vue.gitCredentials:选择前面创建的Jenkins用户私钥的那个凭据Branches to build:指定要拉取的分支。例如本项目的*/dev_20240712源码库浏览器:用于在jenkins上直接看本地构建时的代码差异。源码库浏览器:gitlabURL:gitlab的本项目页面:http://192.168.xxx.xxx:8090/myproject/myproject-vue/version:gitlab版本:17.0构建触发器组:可以配置每次有代码push到gitlab时自动构建。为避免频繁构建,项目采用手动点击构建,不配置触发器。构建环境组:用于给节点服务器准备构建环境,使用Ant构建时可以配置。项目使用Maven、Node构建,且已经在节点服务器上手工部署了Maven、Node,无需进行配置。Build Steps组:配置从gitlab拉取代码之后操作,即具体的构建执行步骤。项目全部使用shell方式执行。登录CCE云:

执行Maven编译打包执行Dockerfile制作镜像、推送CCE镜像仓库、更新cce上的负载镜像


curDate=`date +%Y%m%d`

curTime=`date +%H%M%S`

export VERSION_ALL_TAG=${curDate}-${curTime}


# build app-web image; push to cce; delete local image

cd /root/build/source/myproject/myproject-vue/app-web

docker build -t cce.test.com/myproject/app-web:${VERSION_ALL_TAG} .

docker push cce.test.com/myproject/app-web:${VERSION_ALL_TAG}

docker rmi cce.test.com/myproject/app-web:${VERSION_ALL_TAG}


# build system-server image; push to cce; delete local image

cd /root/build/source/myproject/myproject-vue/system/system-server

docker build -t cce.test.jinanbank.com/myproject/system-server:${VERSION_ALL_TAG} .

docker push cce.test.jinanbank.com/myproject/system-server:${VERSION_ALL_TAG}

docker rmi cce.test.jinanbank.com/myproject/system-server:${VERSION_ALL_TAG}


# update cce deployment

export KUBECONFIG=/root/.kube/config

kubectl set image deployment/myproject container-app=cce.test.com/myproject/app-web:${VERSION_ALL_TAG} container-system=cce.test.com/myproject/system-server:${VERSION_ALL_TAG} -n myproject


登出CCE


/root/cce logout

前端VUE编译与app-web模块的操作步骤类似,只是将Maven编译换成Node编译:


cd /root/build/source/myproject/vue-web


export NODE_HOME=/root/build/node-v12.22.12

export PATH=$NODE_HOME/bin:$PATH


npm run build:clouddev


Jenkins打包docker镜像86服务器上安装的Docker版本比较高,save出来的docker镜像tar文件无法直接在页面导入进CCE中。164服务器上的Docker版本低,导出的镜像可以在页面导入CCE中,但是无法使用CCE客户端。所以项目源码拉取、编译打包、生成镜像、kubectl更新等操作在86服务器上进行。如果需要导出docker镜像,则在164服务器上进行。

相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
999 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1695 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
640 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
609 14
|
9天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
684 151