jenkinsfile小试牛刀

本文主要演示一下如何用jenkinsfile来编译java服务

安装jenkins

这里使用docker来安装jenkins

复制代码
docker run --name jenkins-docker \
--volume $HOME/jenkins_home:/var/jenkins_home \
-p 8080:8080 jenkins/jenkins:2.416

之后访问http://${yourip}:8080,然后输入admin密码继续安装

jenkinsfile

复制代码
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来定义流水线,这个相比于在界面上配置更为易用和清晰,也容易进行版本化管理。

doc

相关推荐
pursue.dreams7 小时前
Ubuntu安装Jenkins完整教程
linux·ubuntu·jenkins
城南花开时7 小时前
CICD工具,Jenkins or Tekton or Arbess一文全面对比评测
jenkins·tekton
非典型代码7 小时前
Jenkins发不出邮件
运维·servlet·jenkins
佐杰12 小时前
Jenkins安装部署
运维·servlet·jenkins
傻啦嘿哟14 小时前
实战:用Elasticsearch构建爬虫数据搜索引擎
运维·jenkins
佐杰19 小时前
Jenkins是什么
运维·jenkins
一周困⁸天.1 天前
Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】
大数据·elk·elasticsearch·jenkins
xiaobangsky1 天前
Elasticsearch安装使用
elasticsearch·jenkins
i_am_a_div_日积月累_2 天前
jenkins打包报错
运维·rust·jenkins·jenkins打包报错
一个处女座的暖男程序猿2 天前
2G2核服务器安装ES
服务器·elasticsearch·jenkins