Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

  • 1、持续的软件版本发布/测试项目。
  • 2、监控外部调用执行的工作。

我们可以用Jenkins来配置一套自动编译发布项目的流程。下面我们以一个简单的例子来说明。
主要有以下步骤:

  • 1 新建一个项目credit,选择构建一个Maven项目: 构建一个项目
  • 2 进行项目的具体配置
    • 2.1 进入配置页面
      构建一个项目
    • 2.2 可以写项目描述,限定一下项目构建
      构建一个项目
      • 2.3 设置代码下载的SVN地址:
        构建一个项目
      • 2.4 可以设置每天自动定时发布,构建时是用maven的命令: -Dmaven.test.skip=true clean install package -Denv=dev
        构建一个项目
  • 3 自定义自动部署的shell脚本
    ps:要在shell代码之前添加BUILD_ID=DONTKILLME,这样才不至于中途应用被停止,部署没完成就结束了。
    脚本主要的内容包含:备份原来的包,发布新的包,重启相关的应用服务。

    BUILD_ID=DONTKILLME
    cd /opt/java/front/apache-tomcat-7.0.67
    sh bin/shutdown.sh
    sleep 1
    rm -rf webapps/front.war.bak
    #备份front
    mv webapps/front.war webapps/front.war.bak
    cp -rf /jenkins/workspace/credit/credit-web/target/front.war webapps/front.war
    sh bin/startup.sh
    sleep 1
    echo "front app started......"
    echo "back app operation......"
    cd /opt/java/back_tomcat/apache-tomcat-7.0.67
    sh bin/shutdown.sh
    sleep 1
    rm -rf webapps/back.war.bak
    #备份back
    mv webapps/back.war webapps/back.war.bak
    cp -rf /jenkins/workspace/credit/credit-manager-web/target/back.war webapps/back.war
    sh bin/startup.sh
    sleep 1
    echo "back app started……"

Q&A:
Q:一不小心删除了相关job的配置数据后,重新配置相同名的项目的构建部署过程后,发现立即构建会报错:
java.lang.IllegalStateException: cannot create a build with number 5 since that (or higher) is already in use among [204],那么如何解决呢?
A:可以把相关job的配置文件(/root/.jenkins/jobs/jobName/nextBuildNumber)中的值修改成报错中的值204或者更大的205。
然后重启jenkins的web部署应用tomcat。然后再进行构建即可成功。