Запуск docker-compose в Jenkinsfile выдает ошибку версии, когда работает на сервере - PullRequest
0 голосов
/ 11 декабря 2019

На моем сервере у меня просто есть однострочный скрипт, который выполняет

docker-compose pull && docker-compose up -d.

Когда я запускаю это на сервере, он успешно извлекает файл докера, как указано, иподнимает его.

Однако, когда я пытаюсь сделать это в Jenkinsfile,

stage('Deployment') {
            steps {
                withCredentials([sshUserPrivateKey(
                    credentialsId: '<id>',
                    keyFileVariable: 'KEY_FILE')]) {
                    sh '''
                    <authentication steps...>
                    ssh root@<servername> \
                        && cd <proj_root_dir> \
                        sh ./deploy.sh
                    ssh-agent -k
                    '''
                }
            }
        }

выдает ошибку, которая говорит:

Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version ("2.0", "2.1", "3.0", "3.1", "3.2") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

ВерсияЯ использую 3.7, и когда я меняю версию на 3.2, он говорит, что не поддерживает volume, который я использую. Это странно, потому что работает нормально, когда я запускаю скрипт вручную на сервере.

Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...