/
Jenkinsfile
53 lines (46 loc) · 1.61 KB
/
Jenkinsfile
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!groovy
node {
// ------------------------------------
// -- ETAPA: Compilar
// ------------------------------------
stage 'Compilar'
// -- Configura variables
echo 'Configurando variables'
def mvnHome = tool 'M3'
env.PATH = "${mvnHome}/bin:${env.PATH}"
echo "var mvnHome='${mvnHome}'"
echo "var env.PATH='${env.PATH}'"
// -- Descarga código desde SCM
echo 'Descargando código de SCM'
sh 'rm -rf *'
checkout scm
// -- Compilando
echo 'Compilando aplicación'
sh 'mvn clean compile'
// ------------------------------------
// -- ETAPA: Test
// ------------------------------------
stage 'Test'
echo 'Ejecutando tests'
try{
sh 'mvn verify'
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
}catch(err) {
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
if (currentBuild.result == 'UNSTABLE')
currentBuild.result = 'FAILURE'
throw err
}
// ------------------------------------
// -- ETAPA: Instalar
// ------------------------------------
stage 'Instalar'
echo 'Instala el paquete generado en el repositorio maven'
sh 'mvn install -Dmaven.test.skip=true'
// ------------------------------------
// -- ETAPA: Archivar
// ------------------------------------
stage 'Archivar'
echo 'Archiva el paquete el paquete generado en Jenkins'
step([$class: 'ArtifactArchiver', artifacts: '**/target/*.jar, **/target/*.war', fingerprint: true])
}