jenkins配置java项目自动打包、vue自动打包、配置k8s

本文详细介绍了如何在Jenkins上配置自动化部署流程,包括配置svn源码管理、Java项目打包、Vue前端自动化构建、K8s环境配置及Docker镜像推送等关键步骤。

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

1、进入jenkins配置界面

在这里插入图片描述

2、配置svn

配置项目的来源,可以使git或者svn,本公司使用svn,我这里就是使用svn做演示。配置好项目的地址和相关的账号密码即可。
在这里插入图片描述

3、配置java打包

本项目采用springboot或者springcloud做框架,采用mvn做包依赖

在这里插入图片描述

clean package -pl hwyg-sts-console -am -Denvironment=test -DskipTests -P prodv

4、配置vue自动打包

先看一下我的项目目录
在这里插入图片描述
在这里插入图片描述

#!/bin/bash
cd web_console
echo $PWD
echo '==============web_console构建开始================='
npm config set registry https://registry.npm.taobao.org
npm install
echo '==============web_console下载================='
npm run build:prod
echo '==============we_console构建完成================='
cd ../
echo $PWD

配置node.js环境,如果不配置npm运行不了
在这里插入图片描述

5、保存配置,打包项目

在这里插入图片描述
build项目
在这里插入图片描述
如果运行结果成功会显示蓝色的按钮,如果失败会显示红色的按钮,在此按钮上面可以查看日志输出。
在这里插入图片描述
尤其打包失败的时候可以通过日志文件查看原因
在这里插入图片描述

6、k8s配置

在这里插入图片描述

k8s在jenkins上的配置脚本

docker build  -t hfdockerhub.com.cc:1443/xxxx/jenkins-${APP_NAME}:${BUILD_NUMBER} --build-arg JAR_PATH=./xxxxxx/target .
docker push hfdockerhub.com.cc:1443/xxxxx/jenkins-${APP_NAME}:${BUILD_NUMBER}

其中BUILD_NUMBER是JENKINS中可用的环境变量,APP_NAME是自定义的环境变量
在这里插入图片描述
注意:
Dockerfile需要放到项目的根目录
还要添加k8s文件,修改namespace和name
在这里插入图片描述
以下是Dockerfile内容

FROM tomcat

#VOLUME ["/home/data/sts/media","/usr/data/sts/media"]

#定义时区参数
ENV TZ=Asia/Shanghai

#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
  && echo '$TZ' > /etc/timezone

ARG JAR_PATH=./hwyg-sts-console/target

RUN rm -rf /usr/local/tomcat/webapps/ROOT

#因为打包成root 所以拼接URL的时候不用加项目名称为根目录
ADD ${JAR_PATH}/*.war /usr/local/tomcat/webapps/ROOT.war

CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

EXPOSE 8080
### Gitee CI/CD Pipeline for Vue Project Deployment #### 配置 `.gitlab-ci.yml` 文件实现自动化部署 对于在Gitee上的Vue项目配置CI/CD流水线的关键在于编写`.gitlab-ci.yml`文件。此文件定义了不同阶段的任务,包括构建、测试以及最终的部署操作[^1]。 ```yaml image: node:lts stages: - build - deploy cache: paths: - node_modules/ build_vue_project: stage: build script: - npm install - npm run build artifacts: paths: - dist/ deploy_to_production: stage: deploy only: - master script: - echo "Deploying to production..." - 'curl -H "Authorization: Bearer $TOKEN" -F file=@dist/index.html https://your-server.com/upload' ``` 上述脚本展示了如何通过NPM安装依赖并打包Vue应用,在成功完成后会触发部署动作。这里假设有一个API端点用于上传编译后的HTML文件作为示例[^4]。 #### 使用 Jenkins-Pipeline 自动化部署至 Kubernetes (K8S) 另一种方法是借助Jenkins管道工具配合Docker镜像完成更复杂的场景——比如将应用程序容器化并通过Kubernetes集群管理服务实例。为此需准备一个适合前端应用的基础NGINX Dockerfile: ```dockerfile FROM nginx RUN rm -rf /usr/share/nginx/html/* COPY ./dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` 接着可以在Jenkins中创建一个多分支Pipeline工程,并指定其读取位于仓库根目录下的`Jenkinsfile`来进行持续集成工作流控制[^5]。 #### 构建多层架构优化性能 考虑到生产环境中的效率问题,可以采用分层方式制作Docker镜像以减少体积和加速传输速度。下面是一个针对Java项目的例子,虽然适用于不同的编程语言和技术栈,但概念相同:先在一个临时环境中编译源码生成可执行包;再切换到精简版运行时映像里加载该二进制文件[^3]。 ```dockerfile # Build Stage FROM maven AS builder WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn clean package -DskipTests # Final Stage FROM openjdk:alpine WORKDIR /app COPY --from=builder /app/target/*.jar app.jar ENTRYPOINT ["java","-jar","/app/app.jar"] ``` 尽管这段代码片段主要面向后端开发人员,但对于任何类型的Web应用来说都是有价值的实践指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值