使用头盔安装了詹金斯
helm install --name jenkins -f values.yaml stable/jenkins
已安装詹金斯插件
- kubernetes:1.12.6
- workflow-job:2.31
- workflow-aggregator:2.5
- credentials-binding:1.16
- git:3.9.3
- docker:1.1.6
定义Jenkins管道以构建Docker容器
node {
checkout scm
def customImage = docker.build("my-image:${env.BUILD_ID}")
customImage.inside {
sh 'make test'
}
}
引发错误:找不到Docker
答案 0 :(得分:1)
似乎您只安装了插件,但没有安装软件包。 2种可能性-> 1)配置插件以使用Jenkins安装软件包。转到管理Jenkins->全局工具配置-> Docker->填充名称(如Docker-latest)->自动检查安装,然后添加安装程序(从docker.com下载)。
然后保存。就这样。 2)如果已安装在计算机上,请使用Docker的位置更新Jenkins中的PATH变量。
答案 1 :(得分:1)
您可以在管道中为此容器定义具有所需工具(docker,Maven,Helm等)的代理吊舱:
1。使用以下值创建agentpod.yaml:
apiVersion:v1
种类:豆荚
元数据:
标签:
some-label: pod
规格:
容器:
- name: maven
image: maven:3.3.9-jdk-8-alpine
command:
- cat
tty: true
volumeMounts:
- name: m2
mountPath: /root/.m2
- name: docker
image: docker:19.03
command:
- cat
tty: true
privileged: true
volumeMounts:
- name: dockersock
mountPath: /var/run/docker.sock
音量:
- name: dockersock
hostPath:
path: /var/run/docker.sock
- name: m2
hostPath:
path: /root/.m2
管道{
agent {
kubernetes {
defaultContainer 'jnlp'
yamlFile 'agentpod.yaml'
}
}
stages {
stage('Build') {
steps {
container('maven') {
sh 'mvn package'
}
}
}
stage('Docker Build') {
steps {
container('docker') {
sh "docker build -t dockerimage ."
}
}
}
}