J'essaie de télécharger des artefacts dans un compartiment s3 après une construction réussie, mais je ne trouve aucun exemple de travail à implémenter dans un bloc stage/node.
une idée (plugin s3 installé, Jenkins v2.32)?
node {
sh 'echo ""> 1.jar'
archiveArtifacts artifacts: '1.jar', fingerprint: true
// upload to s3 bucket ???
}
L'examen de la documentation Pipeline Steps sur le site Web de Jenkins montre que le Pipeline AWS Plugin fournit une étape s3Upload
.
Essaye ça:
s3Upload(file:'file.txt', bucket:'my-bucket', path:'path/to/target/file.txt')
Je pense qu'il est plus facile d'afficher l'URL de la documentation du plugin direct .. Vous pouvez trouver la documentation du plugin ici .
Si vous cherchez un moyen de télécharger des fichiers sur S3, ceci est ce que vous devez savoir.
Étapes détaillées:
Installer Pipeline AWS Plugin . Accédez à Gérer Jenkins -> Gérer les plugins -> onglet Disponible -> Filtrer par 'Pipeline AWS' . Installez le plugin.
Ajouter des informations d'identification selon votre environnement. Exemple ici:
Jenkins> Informations d'identification> Système> Informations d'identification globales (sans restriction) -> Ajouter
Type = Informations d'identification AWS Et ajoutez vos informations d'identification AWS
Notez l'ID
Puis dans votre projet Pipeline (similaire au code que j'utilise)
node {
stage('Upload') {
dir('path/to/your/project/workspace'){
pwd(); //Log current directory
withAWS(region:'yourS3Region',credentials:'yourIDfromStep2') {
def identity=awsIdentity();//Log AWS credentials
// Upload files from working directory 'dist' in your project workspace
s3Upload(bucket:"yourBucketName", workingDir:'dist', includePathPattern:'**/*');
}
};
}
}