#git #jenkins
Вопрос:
Я использую плагин jenkins с k8s, и я встретил несколько вопросов. Трубопроводу нужно вытащить очень большое репо git, и это займет некоторое время. Если я использую плагин k8s, каждый раз, когда модуль создается, он всегда будет извлекать репозиторий git без какого-либо кэша!
Итак, я решил использовать workspaceVolume таким workspaceVolume persistentVolumeClaimWorkspaceVolume(claimName: 'quicksilver-workspace-pvc', readOnly: false)
образом, но если я создам задание несколько раз за очень короткое время, конвейер Дженкинса выдаст ошибку, например:
Я знаю, что это потому, что я работаю git pull
в одном каталоге и в одно и то же время. Но я не знаю, как это решить.
это мой конвейер:
agent {
kubernetes {
yaml """
apiVersion: v1
kind: Pod
metadata:
spec:
containers:
- name: quicksilver-builder
image: www.example.com/ops/ci-quicksilver:6.2
command:
- cat
tty: true
"""
workspaceVolume persistentVolumeClaimWorkspaceVolume(claimName: 'quicksilver-workspace-pvc', readOnly: false)
}
}
stages {
stage('checkout') {
steps {
echo '>>>>>>>before checkout<<<<<<<'
sh 'pwd amp;amp; ls'
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '***', url: 'https://www.example.com/TT-Yunwei/web.git']]])
echo '>>>>>>> after checkout<<<<<<'
sh 'pwd amp;amp; ls'
sh 'touch my.txt'
}
}
}
}```