Kubernetes布署SonarQube检查Java项目代码质量
上文,使用Docker快速布署了SonarQube。可以将其布署到kubernetes集群中
布署Postgresql
SonarQube在未来将不支持Mysql,而内置H2数据库只供测试使用。如果我们要正式布署使用SonarQube,则需要布署Postgresql或者Oracle数据库,显示布署Postgresql是最快最方便的。
以下是Postgresql deployment 和service
```yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: postgresql
namespace: sonarqube
spec:
selector:
matchLabels:
app: postgresql
template:
metadata:
name: postgresql
labels:
app: postgresql
spec:
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgres-data
restartPolicy: Always
containers:
- name: postgres
image: postgres:12
imagePullPolicy: IfNotPresent
env:
- name: POSTGRES_PASSWORD
value: postgres
- name: POSTGRES_USER
value: sonar
- name: POSTGRES_DB
value: sonarqube
volumeMounts:
- name: postgres-data
mountPath: /var/lib/postgresql/data
ports:
- name: default
containerPort: 5432
protocol: TCP
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-data
namespace: sonarqube
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-nfs-storage
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
name: sonar-postgres
namespace: sonarqube
spec:
type: NodePort
selector:
app: postgresql
ports:
- name: default
port: 5432
targetPort: 5432
protocol: TCP
```
## 布署SonarQube 服务
重要: SonarQube官方镜像在配置文件中配置使用Postgresql无效(?可能是我方法不对)
查看