`
frank1998819
  • 浏览: 758534 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

jenkins检查代码,如没更新停止构建步骤(转)

 
阅读更多

需求分析

在jenkins中没有找到构建前插件,每次构建时间很长,希望可以实现判断代码是否更新,如果没更细则停止构建步骤。 

实现步骤

在构建时执行shell命令,而jenkins提供的的环境变量可以实现此判断 https://wiki.jenkins.io/display/JENKINS/Conditional+BuildStep+Plugin

GIT_COMMIT
    The commit hash being checked out.
GIT_PREVIOUS_COMMIT
    The hash of the commit last built on this branch, if any.
GIT_PREVIOUS_SUCCESSFUL_COMMIT
    The hash of the commit last successfully built on this branch, if any.

  

GIT_COMMIT 当前拉取版本的commit id

GIT_PREVIOUS_COMMIT  最后在此分支上构建的 commit id

GIT_PREVIOUS_SUCCESSFUL_COMMIT 最后在此分支上成功构建的 commit id号

 

#!/bin/bash

if [ $GIT_PREVIOUS_SUCCESSFUL_COMMIT == $GIT_COMMIT ];then
  echo "no change,skip build"
  exit 0
else
  echo "git pull commmit id not equals to current commit id trigger build"
fi

 

注意,不能使用-eq 只能使用==

提交新版本后,构建提示如下:

$ git show|head -1
commit 27617e680d2e6bf00062700623792aef63926edd

在jenkins中执行构建

 

转载于:https://www.cnblogs.com/LC161616/p/10384279.html

 

分享到:
评论

相关推荐

    jenkins自动化构建

    - 当`modelA`的源代码发生变化时,Jenkins会自动触发构建过程,同时其他模块保持手动构建状态。 #### 三、Gogs与Jenkins的集成 1. **源码管理**: - 使用Gogs作为源代码仓库管理系统。 - 在Gogs中为项目配置...

    jenkins自动化部署流程-web项目

    - 每5分钟检查一次master分支的源码变更,如有变更,则自动触发构建。 - **构建后操作**:配置构建后的操作步骤。 - 使用“Send build artifacts over SSH”插件将构建好的WAR包发送到服务器,并执行特定脚本进行...

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    然后,创建一个新的自由风格的软件项目,配置Gitlab仓库的URL以及凭据,设置构建触发器为“Poll SCM”,以便定期检查仓库更新。 2. **配置Maven**:在Jenkins的构建环境中,指定Maven的路径并添加任何必要的Maven...

    Jenkins参数化构建部署手册.docx

    - **预构建步骤(PreSteps)**: 在构建之前执行的自定义脚本或操作。 - **构建后步骤(PostSteps)**: 在构建成功或失败后执行的操作,例如自动回滚、发送通知等。 #### 七、发布与回滚测试 - **升级测试**: - ...

    windows 版本的 jenkins

    创建新的Jenkins项目时,可以配置源码管理(如Git或SVN)、构建触发器(如定时或代码提交触发)、构建步骤(如编译、单元测试、打包等)。这些配置可以实现自动化构建流程。 7. **持续集成与持续交付**: Jenkins...

    jenkins入门指导资料

    Jenkins是一个开源的持续集成的服务器,它可以帮助开发者自动构建和测试项目。Jenkins的插件式架构非常强大,允许它集成各种软件工具,从而支持持续集成和持续部署的工程项目。 Jenkins的基本使用可以分为以下几个...

    jenkins 自动化部署.pdf

    Jenkins的自动化部署是指通过Jenkins自动化地完成软件开发中的构建、测试、部署等步骤,提高开发效率和软件交付质量。 1. Jenkins的基本使用环境包括: - JDK:Jenkins是基于Java语言开发的,因此必须安装JDK环境...

    jenkins离线安装svn插件

    Jenkins 是一款强大的持续集成工具,它允许开发者自动化软件构建、测试和部署流程。Subversion(简称 SVN)是版本控制系统,用于跟踪项目文件的修改历史。在某些情况下,如网络不稳定或安全策略限制,我们需要在 ...

    jenkins详细使用文档

    这样,每当源码发生变化或满足特定条件时,Jenkins都能够自动执行预设的构建步骤。 ### 持续集成与自动部署 Jenkins还支持持续集成和自动部署。通过配置触发器和环境变量,可以实现代码提交后自动拉取代码、执行...

    jenkins+svn+maven+java-配置+安装+部署(windows版)

    ### Jenkins + SVN + Maven + ...通过以上步骤,可以实现基于Jenkins、SVN、Maven和Java的自动化构建和部署流程。这种方式大大提高了开发效率和软件质量,减少了人为错误,是持续集成/持续部署(CI/CD)的重要实践之一。

    jenkins自动部署springboot项目

    4. **构建执行**:在构建阶段,Jenkins会执行Maven命令,如`mvn clean install`,并获取最新代码进行构建。 5. **自动化脚本执行**:构建完成后,通过SSH连接到远程服务器,执行如`bootdemo.sh`的脚本进行部署。 6. ...

    Jenkins-svn

    在“构建”部分,可以添加构建步骤,如运行Maven、Gradle或Shell命令。 ### 6. 自动构建和测试 一旦配置完成并保存,Jenkins会根据配置自动从SVN仓库拉取代码,并执行构建和测试。如果有任何问题,Jenkins将提供...

    jenkins-2.213.zip

    - 通过Jenkins的Web界面,可以创建、编辑和管理Job,包括设置触发器(如定时、代码提交等)、构建步骤、构建参数等。 5. **自动部署**: - Jenkins支持多种自动部署策略,如使用脚本、使用插件(如Deploy to ...

    jenkins_maven_tomcat

    3. 构建步骤:添加Maven构建步骤,指定POM文件路径和构建目标,如`clean package`。 4. 部署应用:在构建后操作中,使用Tomcat插件部署打包后的WAR文件到Tomcat服务器。 五、自动化测试与质量检查 在集成过程中,...

    jenkins持续集成冷部署到tomcat教程

    - 例如,可以选择“Poll SCM”选项,输入一个Cron表达式(如`H/10 * * * *`表示每10分钟检查一次代码变更)。 3. **构建前配置**: - 在构建前阶段,可以通过脚本等方式来关闭正在运行的Tomcat服务,以便于接下来...

    jenkins+springboot+git自动化部署.docx

    - 创建Jenkins Job,配置源码管理(Git仓库),构建触发器(如提交触发),构建步骤(执行Maven命令) 6. **SpringBoot项目自动化部署** - 在Jenkins Job中,设置构建过程为执行Maven的`deploy`目标,将项目打包...

    jenkins自动化部署配置

    - **构建步骤**:编写脚本,例如 `mvn clean install` 或其他构建命令。 - **Post Steps**:构建成功后执行的步骤,通常包括打包、制作镜像和推送到私有仓库。 **4. 目标机器执行脚本** 当构建完成后,通过 ...

    Jenkins+Maven+SVN快速搭建持续集成环境.docx

    - 配置构建步骤,使用 Maven 执行构建任务; - 配置构建后操作,如通知、归档等。 3. **执行构建任务:** - 触发构建任务,观察构建过程和结果。 #### 四、总结 通过上述步骤,可以实现 Jenkins 与 Maven 和 ...

Global site tag (gtag.js) - Google Analytics