В настоящее время я использую Jenkins Pipeline для создания безсерверного проекта https://serverless.com/
Я создал образ докера с безсерверной внутренней частью
FROM node:11-alpine
RUN apk -v --update add \
python \
py-pip \
groff \
less \
mailcap \
&& \
pip install --upgrade pip && \
pip install --upgrade awscli==1.14.5 s3cmd==2.0.1 python-magic && \
apk -v --purge del py-pip && \
rm /var/cache/apk/*
RUN npm install -g serverless
И я использую его в своем скриптеконвейер
docker.image('serverless').inside {
sh 'serverless deploy'
}
Однако каждый раз, когда я пытаюсь запустить свой конвейер, без сервера не запускается полностью, только в течение 1 секунды.
т.е. журналы из конвейера Jenkins:
+ serverless deploy
Serverless: Packaging service...
[Pipeline] }
$ docker stop --time=1
dewh3h27d23d72h3d23792d923hd7293hd2983hd2893dh2839dh29d2398dh229
$ docker rm -f
dewh3h27d23d72h3d23792d923hd7293hd2983hd2893dh2839dh29d2398dh229
Я заметил, что при использовании такого декларативного конвейера
pipeline {
agent {
docker {
image 'serverless'
}
}
stages {
stage('Deploy to test') {
steps {
script {
sh 'serverless deploy'
}
}
}
}
}
Он работает нормально, однако мне нужно использовать скриптовый конвейер, так как я строю динамический конвейер для своего проекта.
Спасибо за вашу помощь.