Add Windows Jenkins pipeline
[logging-log4j2.git] / Jenkinsfile
1 #!groovy
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one or more
4  * contributor license agreements.  See the NOTICE file distributed with
5  * this work for additional information regarding copyright ownership.
6  * The ASF licenses this file to You under the Apache License, Version 2.0
7  * (the "License"); you may not use this file except in compliance with
8  * the License.  You may obtain a copy of the License at
9  *
10  *     https://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 pipeline {
20     tools {
21         jdk 'JDK 1.8 (latest)'
22         maven 'Maven 3 (latest)'
23     }
24     stages {
25         stage('Build (Ubuntu)') {
26             agent { label 'ubuntu&&!H20' }
27             steps {
28                 ansiColor('xterm') {
29                     sh 'mvn -t toolchains-jenkins-ubuntu.xml -Djenkins -V install'
30                     stash includes: 'target/**', name: 'target'
31                 }
32             }
33         }
34         stage('Build (Windows)') {
35             agent { label 'Windows' }
36             steps {
37                 bat 'mvn -t toolchains-jenkins-win.xml -Djenkins -V install'
38             }
39         }
40         stage('Deploy') {
41             when { branch 'master' }
42             steps {
43                 ansiColor('xterm') {
44                     unstash 'target'
45                     sh 'mvn -t jenkins-toolchains.xml -Djenkins -V deploy'
46                 }
47             }
48 //            post {
49 //                failure {
50 //                    emailext body: "See <${env.BUILD_URL}>", replyTo: 'dev@logging.apache.org', subject: "[Log4j] Jenkins build failure (#${env.BUILD_NUMBER})", to: 'notifications@logging.apache.org'
51 //                }
52 //            }
53         }
54     }
55 }