jenkins - Jenkins slave 作为 kubernetes pod
问题描述
我已经在 GCP 中创建了 kubernetes 集群,最重要的是,我使用以下 url https://cloud.google.com/solutions/jenkins-on-kubernetes-engine-tutorial在 kubernetes 中配置了 jenkins
我能够使用普通命令运行 jenkins build 并且它正在创建一个 pod 并且构建正在成功。当我尝试更改 maven build 或 golang build 的图像时,我无法完成它。当我尝试更改它时,吊舱会继续终止和重新创建。
解决方案
我们可以在 Jenkins 流水线脚本中添加 pod 模板来拉取我们的自定义镜像并作为从属 pod 运行。使用以下格式:
pipeline {
agent {
kubernetes {
defaultContainer 'jnlp'
yaml """
apiVersion: v1
kind: Pod
metadata:
labels:
some-label: some-label-value
spec:
containers:
- name: maven
image: maven:alpine
command:
- cat
tty: true
- name: busybox
image: busybox
command:
- cat
tty: true
"""
}
}
stages {
stage('Run maven') {
steps {
container('maven') {
sh 'mvn -version'
}
container('busybox') {
sh '/bin/busybox'
}
}
}
}
}
推荐阅读
- angular - 动态更改角度材质表单字段外观
- php - laravel eloquent 用 id 数组更新 hasmany
- python - CSV 文件中的列数据为 h5 格式
- database - 如果我们保持数据库加密以保护静态数据,索引不会失败
- hyperledger-fabric - 通道高度不匹配是从 Velero 备份恢复后的超级账本结构对等体
- angular - 剑道弹出锚点标签,自动定位
- python - 如何运行多个python脚本到prometheus
- flutter - 文本小部件显示“'Future,String' 的实例”
- javascript - 将 AlpineJS 定义的数据拉入 LiveWire 组件
- python - 将一列列表分解为所有可能的 powersets pandas