序
本文主要演示一下如何用jenkinsfile来编译java服务
安装jenkins
这里使用docker来安装jenkins
代码语言:javascript复制docker run --name jenkins-docker
--volume $HOME/jenkins_home:/var/jenkins_home
-p 8080:8080 jenkins/jenkins:2.416
之后访问http://${yourip}:8080,然后输入admin密码继续安装
jenkinsfile
代码语言:javascript复制pipeline {
agent any
tools {
// Install the Maven version configured as "M3" and add it to the path.
maven "M3"
}
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
git 'https://github.com/jglick/simple-maven-project-with-tests.git'
// Run Maven on a Unix agent.
sh "mvn -Dmaven.test.failure.ignore=true clean package"
// To run Maven on a Windows agent, use
// bat "mvn -Dmaven.test.failure.ignore=true clean package"
}
post {
// If Maven was able to run the tests, even if some of the test
// failed, record the test results and archive the jar file.
success {
junit '**/target/surefire-reports/TEST-*.xml'
archiveArtifacts 'target/*.jar'
}
}
}
}
}
这里定义了Build,它先是git拉取代码,然后执行mvn进行编译,最后在post部分在状态为success时使用junit显示测试报告,并归档jar包
小结
jenkins2.x提供了pipeline as code的功能,可以通过jenkinsfile(类似gitlab ci yaml
),使用dsl来定义流水线,这个相比于在界面上配置更为易用和清晰,也容易进行版本化管理。