Назад | Перейти на главную страницу

Как присвоить aws пайплайн дженкинса?

У меня следующая конфигурация в моем конвейере Дженкинса

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. Чтобы использовать учетные данные с этим плагином, вы должны выполнить одно из следующих действий:

  1. хранить ключ доступа, секретный ключ в хранилище учетных данных Jenkins.
  2. читать из конфигурационного файла Jenkins AWS.

Эти параметры задокументированы в плагине 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