На моем сервере у меня просто есть однострочный скрипт, который выполняет
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
, который я использую. Это странно, потому что работает нормально, когда я запускаю скрипт вручную на сервере.
Есть мысли?