1)创建一个Kubernetes PersistentVolume(我使用NFS作为PersistentVolume类型):
apiVersion: v1kind: PersistentVolumemetadata: name: gitlabrunner-nfs-volumespec: accessModes: - ReadWriteMany capacity: storage: 15Gi mountOptions: - nolock nfs: path: /kubernetes/maven/ server: NFS_SERVER_IP persistentVolumeReclaimPolicy: Recycle
2)创建一个Kubernetes PersistentVolumeClaim:
apiVersion: v1kind: PersistentVolumeClaimmetadata: name: gitlabrunner-claim namespace: gitlabspec: accessModes: - ReadWriteMany resources: requests: storage: 15Gi volumeName: gitlabrunner-nfs-volumestatus: accessModes: - ReadWriteMany capacity: storage: 15Gi
3)在您的config.toml中参考PersistentVolumeClaim:
[[runners.kubernetes.volumes.pvc]] mount_path = "/cache/maven.repository" name = "gitlabrunner-claim"
这使得每次使用此配置启动容器时都可以安装卷。
4)在.gitlab-ci.yml文件中,设置MVN_OPTS就像@thomas回答的那样:
variables: MVN_OPTS: "-Dmaven.repo.local=/cache/maven.repository"



