这是我来自Jenkinsfile的containerTemplate
片段,它创建了一个pod和一个名为mvn-c1的容器到Kubernetes上。
containerTemplate(
name: 'mvn-c1',
image: 'mycompany.lab/build_images/mvn_c1_k8s:0.3',
privileged: true,
ttyEnabled: true,
command: 'cat',
imagePullSecrets: ['docker-repo'],
volumeMounts: [ name: 'maven-repo1' , mountPath: '/root/.m2' ],
volumes: [
nfsVolume( mountPath: '/root/.m2', serverAddress: 'nfs-server-ip',
serverPath: '/jenkins_data', readOnly: false ),
]
)
问题是该卷无法安装到容器上,也不会在控制台上显示任何解析错误。
我已推荐this documentation来构建containerTemplate
有人幸运地尝试过这种方法吗?
答案 0 :(得分:1)
欢迎使用StackOverflow @Vamshi
我认为您当前的管道定义存在两个问题:
volumes
是podTemplate而不是containerTemplate的一部分警告:发现类类型的未知参数 'org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate':卷
这是一个可以正常工作的示例:
podTemplate(containers: [
containerTemplate(name: 'maven',
image: 'maven:3.3.9-jdk-8-alpine',
ttyEnabled: true,
command: 'cat')
],
volumes: [
nfsVolume( mountPath: '/root/.m2', serverAddress: '10.0.174.57',
serverPath: '/', readOnly: false ),
]
) {
node(POD_LABEL) {
stage('Get a Maven project') {
container('maven') {
stage('Build a Maven project') {
sh 'while true; do date > /root/.m2/index.html; hostname >> /root/.m2/index.html; sleep $(($RANDOM % 5 + 5)); done'
}
}
}
}
}
验证安装在POD内基于nfs的持久性卷的正确性:
kubectl exec container-template-with-nfs-pv-10-cl42l-042tq-z3n7b -c maven -- cat /root/.m2/index.html
输出: 星期一八月26 14:47:28 UTC 2019 nfs-busybox-9t7wx
答案 1 :(得分:0)
首先,感谢您对NFS IP与namepsaces ..的端点关联进行了详细说明,并为帖子之间的长时间差距表示歉意。
我故意隐藏了podTemplate并发布了Jenkinsfile代码段。
通过在具有NFS ip和安装点标记的从站POD yaml文件上提供引用,我能够达到预期的结果。
我将其称为:
class DistrictModal extends React.Component {
constructor(props) {
super(props);
this.state = {
selectedDistricts: []
}
}
addDistrictToList = (e) => {
this.setState(prevState => ({
selectedDistricts: [...prevState.selectedDistricts, e]
}));
}
render() {
<div className="list-group">
<button type="button" onClick={() => this.addDistrictToList("1")} > 1. bezirk </button>
<button type="button" onClick={() => this.addDistrictToList("2")} > 2. bezirk </button>
<button type="button" onClick={() => this.addDistrictToList("3")} > 3. bezirk </button>
</div>
}}
我的POD yaml具有以下
kubernetes {
label "slavepod-${UUID.randomUUID().toString()}"
yamlFile './k8s-pod.yaml'
}
}