Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intégration Continue Discussion :

[Jenkins] : Pipeline, groovy et Jenkins


Sujet :

Intégration Continue

  1. #1
    Membre averti
    [Jenkins] : Pipeline, groovy et Jenkins
    Bonjour.
    J'utilise Jenkins avec un master sous linux et un slave sous windows.

    Je désire lancer les scripts hébergés sous git depuis mon slave avec groovy.

    Je sèche.

    Le premier stage se déroule correctement.
    Le deuxième aussi mais les sources sont récupérées sur le master.
    Le dernier plante car il ne trouve pas le fichier à lancer sur le slave.

    Comment récupérer mes sources git sur le slave ?

    J'aurai bien essayé un stash include de tout mon répertoire hébergé sous git mais je n'ai pas compris comment marche stash include.

    Merci de votre aide.

    Code groovy :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    node {
        
    		stage('Effacement repertoire logs') {
    
    				sh 'rm -rf log/'
    				
    			}
    			
    		stage('Accès Git') {
    
    				git credentialsId: 'xxxxx', url: 'https://git.../integration_continue.git'
    				
    			}
    }
    			
    node('JNLP-WindowsServer2016') {		stage('initialisation') {
    
    				PowerShell('PowerShell/initialisation_deploiement.ps1')
    				
    			}
    	
       
    }
    		def PowerShell(psCmd) {
    			psCmd=psCmd.replaceAll("%", "%%")
    			bat "powershell.exe -NonInteractive -ExecutionPolicy Bypass -Command \"\$ErrorActionPreference='Stop';[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;$psCmd;EXIT \$global:LastExitCode\""
    }

  2. #2
    Membre averti
    Et voilà.

    J'ai trouvé :
    Code groovy :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    //
    		
    node('JNLP-WindowsServer2016') {		
    
    node {
    	
    		stage('Effacement repertoire logs') {
    
    				sh 'rm -rf log/'
    				
    			}
    			
    		stage('Accès Git') {
    
    				git credentialsId: 'xxxxx', url: 'https://git.../integration_continue.git'
    				
    			}
    		stage('Mise en cache') {
    
    				//on met en cache tous les répertoires et fichiers de ce projet git
    				stash name: "init", includes: "**"
    				
    			}
    }
    	stage('initialisation') {
    
    	    		unstash 'init'
    				//on ne joue que le fichier qui nous interesse
    				PowerShell('PowerShell/initialisation_deploiement.ps1')
    				
    			}
    	
       
    }
    		def PowerShell(psCmd) {
    			psCmd=psCmd.replaceAll("%", "%%")
    			bat "powershell.exe -NonInteractive -ExecutionPolicy Bypass -Command \"\$ErrorActionPreference='Stop';[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;$psCmd;EXIT \$global:LastExitCode\""
    }

###raw>template_hook.ano_emploi###