jenkins配置vue利用tomcat并配置到k8s

3 篇文章 0 订阅

本项目的vue是放在java项目中一起部署到tomcat中的
在这里插入图片描述

1、在jenkins上配置纯vue项目自启动,并且让此项目运行在k8s搭建的服务器上

在这里插入图片描述

2、进入配置后,本人项目是托管在svn的就选择了subversion选项,将项目地址和账户密码配置好

在这里插入图片描述

3、如果需要运行在k8s上那么配置如下,如果不需要无需配置

在这里插入图片描述

4、配置nodejs环境

在这里插入图片描述

5、配置项目运行过程

在这里插入图片描述

echo '==============开始构建前端代码==================='
cd 项目跟目录
echo '==============安装检查开发依赖包================='
npm install
echo '==============编译打包线上版本资源==============='
npm run build
echo '==============前端自动化构建完成================='
6、如需运行在k8s服务器上,配置如下,如果不需要无需配置

在这里插入图片描述

cd 项目跟目录/dist
docker build -t hfdockerhub.com.cc:1443/hfocean/jenkins-${APP_NAME}:${BUILD_NUMBER} .
docker push hfdockerhub.com.cc:1443/hfocean/jenkins-${APP_NAME}:${BUILD_NUMBER}
7、如需运行在k8s服务器上,需要在vue项目的同级目录下配置k8s,如果不需要无需配置

在这里插入图片描述
下面两个文件的namespace要替换成自己k8s服务器分配的命名空间,而且要一致
在这里插入图片描述

配置deployment.json

{
  "kind": "Deployment",
  "apiVersion": "apps/v1",
  "metadata": {
    "name": "${APP_NAME}-deployment",
    "namespace": "k8s的命名空间",
    "labels": {
      "k8s-app": "${APP_NAME}"
    }
  },
  "spec": {
    "replicas": 1,
    "selector": {
      "matchLabels": {
        "k8s-app": "${APP_NAME}"
      }
    },
    "template": {
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "k8s-app": "${APP_NAME}"
        }
      },
      "spec": {
        "containers": [
          {
            "name": "app",
            "image": "hfdockerhub.com.cc:1443/hfocean/jenkins-${APP_NAME}:${BUILD_NUMBER}",
            "resources": {},
            "imagePullPolicy": "IfNotPresent",
            "securityContext": {
              "privileged": false,
              "procMount": "Default"
            },
            "ports":
              [{ "containerPort": 8080, 
                "targetPort": 8080
              }],
              "volumeMounts":[
                 
              ]
          }
        ],
        "volumes":[],
        "type": "NodePort",
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 30,
        "dnsPolicy": "ClusterFirst",
        "securityContext": {},
        "schedulerName": "default-scheduler"
      }
    },
    "strategy": {
      "type": "RollingUpdate",
      "rollingUpdate": {
        "maxUnavailable": "25%",
        "maxSurge": "25%"
      }
    },
    "revisionHistoryLimit": 10,
    "progressDeadlineSeconds": 600
  }
}

配置service.json

{
   "apiVersion":"v1",
   "kind":"Service",
   "metadata":{
      "namespace":"k8s的命名空间",
      "name":"${APP_NAME}-service",
      "labels":{
          "k8s-service":"${APP_NAME}"
      }
   },
   "spec":{
       "selector":{
           "k8s-app": "${APP_NAME}"
       },
       "ports":[
           {"port":8080,"targetPort":8080}
       ],
       "type":"NodePort"
   }
}

8、通过jenkins构建项目

在这里插入图片描述
查看k8s上已经构建完成的项目,先找到命名空间然后找到概况
在这里插入图片描述

点击进入查看详情
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值