jenkins自动化构建部署到多个服务器


title: jenkins自动化构建部署到多个服务器
date: 2019-05-12 15:12:42
categories:

  • 工具
    tags:
  • jenkins

jenkins下载与安装

jenkins是一款持续集成的软件,最开始想用这个软件进行项目的自动化构建部署,是由实验室的项目有三个版本,本地需要一套,测试要一套,交付维护需要一套,每次修改了代码后,都需要打成war包,然后通过一些ftp工具传过去,这样一次还好,次数多了就受不了了,所以就花了一天,学习了下jenkins,以后就方便多了。

引言与建议

如果要先集群服务器部署,不免每台有些配置信息不一样,比如数据库连接、rest接口、检索地址、文件服务器地址等,此时最好,将配置文件从jar包里抽取出来,放置在一个固定的目录下,且命名都相同,比如,我是使用/usr/test.properties等。然后写代码读取、或者直接Spring读取就行。

Spring读取外部文件的配置。

<bean id="ConfigurerProperty" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="order" value="1"/>
		<property name="ignoreResourceNotFound" value="true"/>
		<property name="ignoreUnresolvablePlaceholders" value="true" />
		<property name="location" value="file:/usr/resources.properties"/>
	</bean>
下载地址

https://jenkins.io/

安装

下载安装好后,找到jenkinswarjenkins.war,因为它是自带Jetty服务器的,所以直接命令运行就行。

java -jar jenkins.war

windows下在jenkins目录下打开命令窗口执行就好了。

也可以,把这个war包放置在一个Web容器中。

然后,就可以通过http://localhost:8080访问。

按提示,注册账号,按提示登陆,默认安装插件就OK

配置
  • 点击左侧的系统管理

  • 主要对系统设置、全局工具配置、插件管理来进行配置

    • 插件管理

      点击可选插件,搜索安装:

      Publish Over SSH用于连接远程服务器。

      Deploy to container插件用于把打包的应用发布到远程服务器。

    • 全局工具设置

      不要使用自动安装

      JDK配置,JAVA_HOME就是自己的jdk目录。

      Maven配置,MAVEN_HOME就是自己的Maven目录。

      git,默认就行。

    • 系统设置,设置远程服务器

      可设置多个节点,点击add

构建与部署

配置好后,就可以进行新建任务了。

  • 新建任务

  • 配置

    • 仓库配置

      若仓库地址有错,会报错。

    • 触发器构建

      选择了定时构建和轮询SCM,就可以实现我们的自动化构建了。

      一、定时构建:不管SVNGit中数据有无变化,均执行定时化的构建任务 ;

      二、轮询SCM:只要SVNGit中数据有更新,则执行构建任务;

      三、构建语法说明:

      • 首先格式为:* * * * *(五个星);
      • 第一个表示分钟,取值0~59 第二个表示小时,取值0~23
        第三个表示一个月的第几天,取值1~31 第四个表示第几月,取值1~12
        第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
      • 使用举例:
        每隔10分钟构建一次:H/5 * * * *
        每隔1小时构建一次: H H/1 * * *
        每月30号构建一次: H H 30 * *
        每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
        H H(9-16)/2 * * 1-5

      四、定时构建和轮询SCM使用互不冲突,具体如何组合,需要根据项目情况合理配置;

    • 部署

      在构建后操作处添加要部署的远程服务器,我这里添加了两个节点。

      Name : 在系统设置里配置的服务器,直接选择就行。

      Source files:项目构建后的目录

      Remove prefix : 去前缀

      Remote directoty : 发布的目录,这个目录是接着你在远程服务器中配置的目录

      Exec command : 发布完执行的命令,一般会写个重启Tomcat的脚本,这里是直接执行这个脚本

    • 构建部署

      点击立即构建测试,点击控制台输出,可以查看日志输出。

      以下为三台服务器都部署成功,且成功执行脚本。

      restart.sh脚本:

      #! /bin/bash
      export JAVA_HOME=/usr/jdk1.8.0_191 
      export PATH=$JAVA_HOME/bin:$PATH 
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      
      tomcat_home=/home/admin/apache-tomcat-8.5.35
      SHUTDOWN=$tomcat_home/bin/shutdown.sh
      STARTTOMCAT=$tomcat_home/bin/startup.sh
      echo "关闭$tomcat_home"
      $SHUTDOWN
      #杀死tomcat进程
      ps -ef|grep tomcat|grep -v grep|awk '{print $2}'|xargs kill -9
      #删除日志文件,如果你不先删除可以不要下面一行
      rm  $tomcat_home/logs/* -rf
      #删除tomcat的临时目录
      rm  $tomcat_home/work/* -rf
      sleep 5
      
      echo "启动$tomcat_home"
      
      $STARTTOMCAT
      
      #看启动日志
      
      #tail -f $tomcat_home/logs/catalina.out
      
      

猜你喜欢

转载自blog.csdn.net/weixin_38950807/article/details/90143288