首页 > 其他 > 详细

在k8s中搭建sonarqube并集成到jenkins

时间:2021-04-30 16:38:50      阅读:45      评论:0      收藏:0      [点我收藏+]

前提:已经搭建好k8s环境并生成存储类

1,搭建postgres数据库

编写yaml文件

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: postgres-pvc
  namespace: devops
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-jenkins
  resources:
    requests:
      storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres-sonar
  namespace: devops
  labels:
    app: postgres-sonar
    k8s.eip.work/name: postgres-sonar
    k8s.eip.work/layer: db
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres-sonar
  template:
    metadata:
      labels:
        app: postgres-sonar
    spec:
      containers:
      - name: postgres-sonar
        image: postgres:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 5432
        env:
        - name: POSTGRES_DB
          value: sonar
        - name: POSTGRES_USER
          value: sonar
        - name: POSTGRES_PASSWORD
          value: sonar
        resources:
          limits:
            cpu: 1000m
            memory: 2048Mi
          requests:
            cpu: 500m
            memory: 1024Mi
        volumeMounts:
          - name: data
            mountPath: /var/lib/postgresql/data
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: postgres-pvc

---
apiVersion: v1
kind: Service
metadata:
  name: postgres-sonar
  namespace: devops
  labels:
    app: postgres-sonar
spec:
  type: NodePort
  ports:
  - port: 5432
    targetPort: 5432
    nodePort: 32333
  selector:
    app: postgres-sonar

执行

kubectl  apply -f postgres.yaml

2,安装sonarqube服务

编写yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: sonar-data
  namespace: devops
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-jenkins
  resources:
    requests:
      storage: 100Gi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: sonarqube
  namespace: devops
  labels:
    app: sonarqube
    k8s.eip.work/name: sonarqube
    k8s.eip.work/layer: web
spec:
  serviceName: sonar
  replicas: 1
  selector:
    matchLabels:
      app: sonarqube
  template:
    metadata:
      labels:
        app: sonarqube
    spec:
      initContainers:
      - name: init-sysctl
        image: busybox
        imagePullPolicy: IfNotPresent
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        securityContext:
          privileged: true
      containers:
      - name: sonarqube
        image: sonarqube:latest
        ports:
        - containerPort: 9000
        env:
        - name: SONARQUBE_JDBC_USERNAME
          value: sonar
        - name: SONARQUBE_JDBC_PASSWORD
          value: sonar
        - name: SONARQUBE_JDBC_URL
          value: jdbc:postgresql://postgres-sonar:5432/sonar
        volumeMounts:
        - mountPath: /opt/sonarqube/conf
          name: data
          subPath: conf
        - mountPath: /opt/sonarqube/data
          name: data
          subPath: data
        - mountPath: /opt/sonarqube/extensions
          name: data
          subPath: extensions
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: sonar-data
---
apiVersion: v1
kind: Service
metadata:
  name: sonarqube
  namespace: devops
  labels:
    app: sonarqube
spec:
  ports:
    - name: sonarqube
      port: 9000
      targetPort: 9000
      protocol: TCP
  selector:
    app: sonarqube
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: sonar-ingress
  namespace: devops
spec:
  rules:
  - host: test.sonarqube.3yx.cn
    http:
      paths:
      - path: /
        backend:
          serviceName: sonarqube
          servicePort: 9000

执行

kubectl  apply -f postgres.yaml

3,在Jenkins中安装插件

技术分享图片

 

 

 

4,在jenkins-》系统-》全局工具配置中配置sonarscanner

技术分享图片

 

 

 这里选择手动安装 离线安装包路径:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip

5,在jenkins-》系统-》系统配置 中配置 SonarQube servers

 

 

 

 技术分享图片

 

 

这里的token在sonar中生成

在k8s中搭建sonarqube并集成到jenkins

原文:https://www.cnblogs.com/ligang0357/p/14722277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!