【发布时间】:2019-03-27 16:28:45
【问题描述】:
我已经创建了用于在生产环境中构建项目的 Jenkinsfile,并且管道如下所示:
pipeline {
agent any
stages {
stage('Pull') {
steps {
sh '''ssh ${SSH_USER}@${SERVER_ADDRESS} <<EOF
cd ${SOURCE_FOLDER}/project
git pull
git status
EOF'''
}
}
stage('Composer') {
parallel {
stage('Composer') {
steps {
sh '''ssh ${SSH_USER}@${SERVER_ADDRESS} <<EOF
docker run --rm -v ${SOURCE_FOLDER}/project:/app composer/composer:latest install
EOF'''
}
}
stage('Composer 2') {
steps {
sh '''ssh ${SSH_USER}@${SERVER_ADDRESS} <<EOF
docker run --rm -v ${SOURCE_FOLDER}/project/sub:/app
composer/composer:latest install
EOF'''
}
}
}
}
}
}
有没有办法将所有阶段都放在一个 SSH 连接中,以最大限度地减少开销和连接数?
我通过创建密钥并将公钥粘贴到生产机器上手动完成了所有 SSL 工作。
【问题讨论】:
标签: docker jenkins ssh jenkins-pipeline