- 22, Oct 2024
- #1
Я хочу передать файлы и выполнить несколько команд на удаленном экземпляре AWS из Дженкинса. Я имею в виду следующие методы, чтобы сделать то же самое.
Обратите внимание, что мой сервер Jenkins работает на локальном сервере, и у меня нет доступа по SSH к Jenkins.
withCredentials([sshUserPrivateKey(credentialsId: "bindu-test", keyFileVariable: 'keyfile')]) {
stage('transfer docker image to ec2') {
sh 'scp -i ${keyfile} test [email protected]:'
1) Использование жестко закодированного файла pem
У меня есть следующий скриптовый конвейер для передачи файлов из конвейера Jenkins в экземпляр AWS EC2.
Однако он не работает и долго ждет, не показывая журналы. https://stackoverflow.com/a/47627460/9403545)
stage('transfer docker image to ec2') {
sh 'scp -oIdentityFile=/var/lib/jenkins/.key.pem docker_image.tar [email protected]:'
2) Использование «учетных данных» Дженкинса
Я добавил файл pem в учетные данные Jenkins, а затем вызвал учетные данные следующим методом. (Ссылка на -
К сожалению, описанный выше метод также не сработал и привел к следующей ошибке.
Каталог /tmp/../Hello не существует.
Я пытался использовать публикацию через SSH, но, похоже, она не поддерживается в конвейере сценариев.