0
点赞
收藏
分享

微信扫一扫

【bugfix】如何解决svg到线上显示空白或者svg的viewBox为空

律楷粑粑 04-03 06:00 阅读 2

在新建工程中,使用k8s的devops服务,自动化部署项目

1、在搭建好k8s的集群中,确认已开启devops服务;

2、新建Maven项目之后,创建dockerfile、deploy和Jenkins文件

例如:

Dockerfile

FROM bairong.k8s.master1/br-sjzl/tomcat:9.0-jdk8-temurin-focal

ENV TZ=Asia/Shanghai

RUN mkdir /usr/local/tomcat/webapps/userfiles

COPY bairong-web/target/*.war /usr/local/tomcat/webapps/

Deploy.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

  name: czdataease-java

  namespace: br-demo-project

  annotations:

      deployment.kubernetes.io/revision: '1'

      kubesphere.io/creator: br-project-regular

spec:

  replicas: 1

  selector:

    matchLabels:

      app: czdataease-java

  template:

    metadata:

      labels:

        app: czdataease-java

    spec:

      imagePullSecrets:    #  如过使用harbor仓库得镜像,需要设置从secret处拉取镜像  查看 kubectl get secret

      - name: harbor-pull

      containers:

      - name: czdataease-java

        image:  bairong.k8s.master1/br-sjzl/czdataease-java:latest

        imagePullPolicy: Always

        ports:

        - containerPort: 8080

          name: nginx

        volumeMounts:

          - name: czdataease-nfs-volume

            mountPath: /usr/local/tomcat/webapps/userfiles

        # command: ["sh", "-c"]

        # args:

        #   - |

        #     cp -R /usr/local/tomcat/webapps/1 /usr/local/tomcat/webapps/userfiles/

      volumes:

        - name: czdataease-nfs-volume

          persistentVolumeClaim:

            claimName: br-czdataease-nfs-pvc           

---

apiVersion: v1

kind: Service

metadata:

  name: czdataease-java-service

  namespace: br-demo-project

  annotations:

    deployment.kubernetes.io/revision: '1'

    kubesphere.io/creator: br-project-regular

spec:

  selector:

    app: czdataease-java

  ports:

    - protocol: TCP

      name: nginx

      port: 8080

      targetPort: 8080

      nodePort: 30261

  type: NodePort

Jenkins

pipeline {

  agent {

    node {

      label 'nodejs'

    }



  }

  stages {

    stage('拉取') {

      agent none

      steps {

        container('nodejs') {

          git(url: 'http://192.168.19.199:12589/org_dataapplication/czDataease_vue.git', credentialsId: 'zyq', branch: 'master', changelog: true, poll: false)

        }



      }

    }



    stage('编译') {

      agent none

      steps {

        container('nodejs') {

          sh 'npm install --registry=http://192.168.19.197:31081/repository/npm-group/'

          sh 'npm run build'

        }



      }

    }



    stage('打包') {

      agent none

      steps {

        container('nodejs') {

          sh 'docker build -t czdataease-vue:latest -f docker/Dockerfile  .'

        }



      }

    }



    stage('推送') {

      agent none

      steps {

        container('nodejs') {

          withCredentials([usernamePassword(credentialsId : 'br-dockerhub-id' ,usernameVariable : 'DOCKER_USER_VAR' ,passwordVariable : 'DOCKER_PWD_VAR' ,)]) {

            sh 'echo $DOCKER_PWD_VAR | docker login $BR_REGISTRY --username=$DOCKER_USER_VAR --password-stdin'

            sh 'docker tag czdataease-vue:latest $BR_REGISTRY/$BR_DOCKERHUB_NAMESPACE/czdataease-vue:latest'

            sh 'docker push $BR_REGISTRY/$BR_DOCKERHUB_NAMESPACE/czdataease-vue:latest'

          }



        }



      }

    }



    stage('镜像部署') {

      agent none

      steps {

        container('nodejs') {

          withCredentials([kubeconfigFile(credentialsId: env.KUBECONFIG_CREDENTIAL_ID, variable: 'KUBECONFIG')]) {

            sh '''envsubst < deploy/deploy.yaml | kubectl apply -f -

kubectl rollout restart deploy/br-czdataease-vue -n br-demo-project'''

          }



        }



      }

    }



  }

  environment {

    DOCKER_CREDENTIAL_ID = 'dockerhub-id'

    GITHUB_CREDENTIAL_ID = 'github-id'

    KUBECONFIG_CREDENTIAL_ID = 'kubeconfig-demo'

    REGISTRY = 'docker.io'

    BR_REGISTRY = 'bairong.k8s.master1'

    DOCKERHUB_NAMESPACE = 'bwylove'

    BR_DOCKERHUB_NAMESPACE = 'br-sjzl'

    GITHUB_ACCOUNT = 'bwylove'

    APP_NAME = 'dataease-vue'

  }

  parameters {

    string(name: 'TAG_NAME', defaultValue: '', description: '')

  }

}

3、编辑流水线

4、开git上的webhook服务

5、确认服务已经正常,提交代码进行测试

举报

相关推荐

0 条评论