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

相关推荐
测试开发Kevin25 分钟前
详解Jenkins 的 Declarative Pipeline中post 语法
jenkins·devops
一张假钞1 天前
Jenkins 项目迁移
ci/cd·jenkins
软件测试君1 天前
Jenkins Share Library教程 —— 开发入门
jenkins
Broken Arrows2 天前
如何在Linux服务器上部署jenkins?
linux·jenkins
19岁开始学习2 天前
PHP操作elasticsearch7.8
elasticsearch·jenkins·php
wearegogog1232 天前
Centos7下docker的jenkins下载并配置jdk与maven
java·docker·jenkins
gb42152873 天前
elasticsearch索引多长时间刷新一次(智能刷新索引根据数据条数去更新)
大数据·elasticsearch·jenkins
故事很腻i3 天前
安装elk
运维·elk·jenkins
小醉你真好4 天前
15、Docker Compose 安装ELK + Filebeat单机版
elk·docker·jenkins
com未来4 天前
当通过API发送请求的方式自动触发Jenkins job报错HTTP Status 403 – Forbidden的解决办法
运维·jenkins