У меня следующая конфигурация в моем конвейере Дженкинса
s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')
Проблема в том, что функция s3Upload не принимает ключи доступа AWS, которые я сохранил в jenkins.
Я привязал следующий код
withAWS(profile:'Test Publisher') {
s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')
}
мой профиль s3 в jenkins такой. все еще получаю файл профиля, не удалось найти ошибку. Как я могу загрузить файл из jenkins в s3 с помощью функции s3Upload?
Чтобы иметь возможность загружать в S3, вам необходимо сохранить свои учетные данные в переменных среды на вашем Jenkins:
AWS_DEFAULT_REGION=<region of bucket>
AWS_ACCESS_KEY_ID=<aws id>
AWS_SECRET_ACCESS_KEY=<your s3 access key>
Для этого просто перейдите в Jenkins - Manage Jenkins - Configure System - Global properties - Environment variables
Я думаю, вы могли спутать плагин S3 Publisher с плагином AWS.
Этот снимок экрана взят из плагина S3 Publisher, https://wiki.jenkins.io/display/JENKINS/S3+Plugin. Предупреждение не обновлять до последней версии. Похоже, совместимость конвейера нарушена, есть предупреждение «Версия 0.10.11 (31 декабря 2016 г.) - не обновлять - обратная совместимость для сценариев конвейера нарушена».
Однако похоже, что ваш код конвейера предназначен для плагина Jenkins AWS. https://github.com/jenkinsci/pipeline-aws-plugin. Чтобы использовать учетные данные с этим плагином, вы должны выполнить одно из следующих действий:
Эти параметры задокументированы в плагине README. https://github.com/jenkinsci/pipeline-aws-plugin
Use Jenkins UsernamePassword credentials information (Username: AccessKeyId, Password: SecretAccessKey):
withAWS(credentials:'nameOfSystemCredentials') {
// do something
}
Use profile information from ~/.aws/config:
withAWS(profile:'myProfile') {
// do something
}
"profile" - это раздел профиля вашего файла конфигурации AWS. http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html
Затем вы можете использовать функцию загрузки S3. https://github.com/jenkinsci/pipeline-aws-plugin#s3upload