Як надати авторитет довірам для дженкінського трубопроводу?


10

Я маю наступну конфігурацію в своєму трубопроводі Дженкінс

s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')

Проблема полягає в тому, що функція s3Upload не бере ключі доступу AWS, які я зберігав у джинкінах

я пов'язаний з наступним кодом

    withAWS(profile:'Test Publisher') {
    s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')

}

s3 профіль

мій профіль s3 в jenkins такий. я все ще отримую файл профілю, не вдалося знайти помилку. Як я можу завантажувати файл з jenkins на s3 за допомогою функції s3Upload?

Відповіді:


8

Щоб мати можливість завантажувати в S3, вам потрібно зберегти свої облікові дані у змінних оточення на своїх Дженкінсах:

AWS_DEFAULT_REGION=<region of bucket>

AWS_ACCESS_KEY_ID=<aws id>

AWS_SECRET_ACCESS_KEY=<your s3 access key>

Для цього просто перейдіть до Дженкінса - Керуйте Дженкінсом - Налаштування системи - Глобальні властивості - Змінні середовища


4

Я думаю, ви, можливо, переплутали плагін 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. ключ доступу до магазину, секретний ключ у сховищі даних Дженкінса.
  2. читати з конфігураційного файла 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
}

"профіль" - це профіль розділу вашого файлу конфігурації AWS. http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

Потім ви можете скористатися функцією завантаження S3. https://github.com/jenkinsci/pipeline-aws-plugin#s3upload


Я використовую withAWSкрок і маю облікові дані AWS з ім'ям accesskeyта ідентифікатором jenkins. Коли я називаю це як withAWS(credentials:'jenkins')і коли withAWS(credentials:'accesskey')я продовжую вражати цей виняток. Встановлення облікових даних добре виглядає на моїй консолі Jenkins mgmt (є журнал, в якому говориться останній час, успішно використовуваний останнім часом). Що я міг бракувати?
скорпіодавг

1
@scorpiodawg ваше запитання звучить дещо інакше, ніж оригінал. Чи можете ви почати нове запитання з якомога більше інформації?
Майк Марселія

Я запитав це тут: serverfault.com/questions/958350/… @ mike-marseglia
scorpiodawg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.