Я использую декларативный конвейер Jenkins.Я новичок в Дженкинс, поэтому я ничего не понимаю.Я не знаю, как справиться с этой ошибкой, и может кто-нибудь сказать мне, какие варианты лучше всего строить.
У меня есть скрипт bash, который собирает, маркирует и отправляет образ докера в репозиторий.Это часть моего Jenkinsfile:
pipeline {
agent {
kubernetes {
label 'bmf-worker'
defaultContainer 'jnlp'
yaml """
apiVersion: v1
kind: Pod
metadata:
labels:
component: ci
spec:
# Use service account that can deploy to all namespaces
serviceAccountName: service-reader
containers:
- name: docker
image: docker
command:
- cat
tty: true
- name: kubectl
image: gcr.io/cloud-builders/kubectl
command:
- cat
tty: true
- name: gcloud
image: google/cloud-sdk
command:
- cat
tty: true
"""
}
}
stages {
stage('Code Checkout and Setup') {
steps {
echo 'Code Checkout and Setup'
}
}
stage('Build') {
parallel {
stage('Build') {
steps {
echo 'Start building Frontend and Backend Docker images'
}
}
stage('Build BMF Frontend') {
steps {
container('gcloud') {
echo 'Building Bmf Frontend Image'
sh 'chmod +x build.sh'
sh './build.sh --build_bmf_frontend'
}
}
}
stage('Tag BMF Frontend') {
steps {
container('gcloud') {
echo 'Building Bmf Frontend Image'
sh 'chmod +x build.sh'
sh './build.sh --tag_frontend'
}
}
}
stage('Build BMF Backend') {
steps {
container('gcloud') {
echo 'Buildinging Bmf Backend Images'
sh 'chmod +x build.sh'
sh './build.sh --build_bmf_backend'
}
}
}
stage('Tag BMF Backend') {
steps {
container('gcloud') {
echo 'Building Bmf Frontend Image'
sh 'chmod +x build.sh'
sh './build.sh --tag_frontend'
}
}
}
}
}
Как использовать podTemplate для выполнения моих шагов.Когда я использую Docker-контейнер для Stage Build BMF Backend У меня есть эти ошибки;
- Невозможно подключиться к демону Docker в unix: ///var/run/docker.sock.Работает ли демон Docker?
- /home/jenkins/workspace/BMF/bmf-web@tmp/durable-c146e810/script.sh: строка 1: ./build.sh: не найдена
С контейнером gcloud, определенным в podTemplate;
time = "2019-03-12T13: 40: 56Z" level = error msg = "Не удалось набрать gRPC: невозможно подключитьсяк демону Docker. Работает ли на этом хосте демон docker ?: наберите unix /var/run/docker.sock: connect: нет такого файла или каталога "
Не удается подключиться кдемон Docker в unix: ///var/run/docker.sock.Работает ли демон docker?
И как пометить изображения докера, потому что мне нужен docker для тегов и мерзавцев, потому что теги - это короткий коммит.Когда я использую докер, нет мерзавца.
Мой мастер Дженкинс в Google Cloud Kubernetes.
Может кто-нибудь объяснить мне лучшее решение для выполнения заданий.