Come dare credenziali aws alla pipeline jenkins?


10

Ho la seguente configurazione nella mia pipeline jenkins

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

Il problema è che la funzione s3Upload non sta prendendo le chiavi di accesso AWS che ho memorizzato in jenkins

ho legato con il seguente codice

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

}

profilo s3

il mio profilo s3 in jenkins è così. sto ancora ricevendo il file di profilo non è stato possibile trovare l'errore. Come posso caricare file da jenkins a s3 usando la funzione s3Upload?

Risposte:


8

Per poter caricare su S3, devi salvare le tue credenziali nelle variabili di ambiente sul tuo Jenkins:

AWS_DEFAULT_REGION=<region of bucket>

AWS_ACCESS_KEY_ID=<aws id>

AWS_SECRET_ACCESS_KEY=<your s3 access key>

Per farlo, basta andare su Jenkins - Gestisci Jenkins - Configura sistema - Proprietà globali - Variabili d'ambiente


4

Penso che potresti aver confuso il plug-in S3 Publisher con il plug-in AWS.

Lo screenshot proviene dal plug-in S3 Publisher, https://wiki.jenkins.io/display/JENKINS/S3+Plugin . C'è un avvertimento di non aggiornare all'ultima versione. Sembra che la compatibilità per la pipeline sia interrotta, c'è questo avviso "Versione 0.10.11 (31 dic 2016) - non aggiornare - la compatibilità con le versioni precedenti per gli script della pipeline è interrotta".

Tuttavia, sembra che il codice della pipeline sia per il plugin AWS Jenkins. https://github.com/jenkinsci/pipeline-aws-plugin . Per utilizzare le credenziali con quel plug-in è necessario effettuare una delle seguenti operazioni:

  1. chiave di accesso al negozio, chiave segreta nel negozio di credenziali Jenkins.
  2. letto dal file di configurazione AWS di Jenkins.

Queste opzioni sono documentate nel plug-in 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
}

"profilo" è la sezione del profilo del file di configurazione di AWS. http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

Quindi è possibile utilizzare la funzione di caricamento S3. https://github.com/jenkinsci/pipeline-aws-plugin#s3upload


Sto utilizzando il withAWSpassaggio e ho le credenziali AWS con nome accesskeye ID jenkins. Quando lo chiamo come withAWS(credentials:'jenkins')o come withAWS(credentials:'accesskey')continuo a colpire questa eccezione. Le credenziali sembrano buone per la mia console mgmt di Jenkins (c'è un registro che dice che è stato usato l'ultima volta con successo con un tempo recente). Cosa potrei perdere?
scorpiodawg,

1
@scorpiodawg la tua domanda sembra un po 'diversa dall'originale. Potresti iniziare una nuova domanda con quante più informazioni possibili?
Mike Marseglia,

Ho chiesto questo qui: serverfault.com/questions/958350/… @ mike-marseglia
scorpiodawg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.