Jenkins安装

Jenkins windows 和 liunx的安装自行百度!简单的很  下一步下一步就行了

安装插件

下面介绍实际部署中所用到的几个插件,安装方法:系统管理->管理插件 搜索安装即可。

  • 安装Deploy to container Plugin(自动化部署插件)
  • 安装Maven Integration Plugin(Maven集成插件)
  • 安装Publish Over SSH Plugin(SSH远程发布插件)




  • Publish over SSH配置



Maven配置
11

主要就是发布配置详情:

  1. 点击新建任务 选择


  •  
  • 创建完成之后进行任务配置


    我这里是使用SVN 进行代码托管,如果你们使用git的选择git即可,在使用SVN之前需要先安装Svn插件,完成之后方可进行配置,在配置svn的时候用户、密码会报个错,但是我这里没有进行解决直接连接即可,假如你们遇到Svn相关的错误,自行百度即可!



    • 配置服务器
      1.我在下面选择的是我们之前配置的服务器,Exec command 实在编译之前进行操作,我这里是公司需要进行编译之前备份操作



      Build 操作:
      1.Root pom 选择pom.xml 表示使用maven 的pom.xml 进行编译
      2.Goals and options 是编译命令:
          -P test 表示maven项目中使用的是test环境,因为我的项目中配置了 prd dev test 三个环境



    • 项目中相关配置
      配置文件:

    • //使用这种方式的时候<profiles> 是配置多个环境

      activation 为true表示项目默认使用的配置文件

      <activation>
      				<activeByDefault>true</activeByDefault>
      </activation>
      	<profiles>
      		<profile>
      			<id>dev</id>
      			<properties>
      				<profileActive>dev</profileActive>
      			</properties>
      
      			<activation>
      				<activeByDefault>true</activeByDefault>
      			</activation>
      		</profile>
      		<profile>
      			<id>test</id>
      			<properties>
      				<profileActive>test</profileActive>
      			</properties>
      		</profile>
      		<profile>
      			<id>prd</id>
      			<properties>
      				<profileActive>prd</profileActive>
      			</properties>
      		</profile>
      	</profiles>


      如果项目中启动出现如下报错,其实他就是不认识yml配置文件中的@符号

      found character '@' that cannot start any token. (Do not use @ for indentation)  in 'reader', line 5

    • 解决办法 加上''即可

    • 还需要添加个插件:
      添加插件的目的是因为我在配置文件中使用的是  @profileActive@

    • spring:
        application:
          name: xxx-ssh
        profiles:
          active: '@profileActive@'

       

    • 	<build>
      		<plugins>
      			<plugin>
      				<groupId>org.springframework.boot</groupId>
      				<artifactId>spring-boot-maven-plugin</artifactId>
      			</plugin>
      
      			<plugin>
      				<groupId>org.apache.maven.plugins</groupId>
      				<artifactId>maven-resources-plugin</artifactId>
      				<configuration>
      					<delimiters>@</delimiters>
      					<useDefaultDelimiters>false</useDefaultDelimiters>
      				</configuration>
      			</plugin>
      		</plugins>
      
      
      	</build>

       

    • 构建完成后操作


    • 具体命令,可以自行百度,我这里只提供项目中使用到的
       

      #!/bin/bash 
      
      PID=`lsof -i:8081| grep LISTEN |awk '{print $2}'` //获取端口号8081的线程pid
      echo ${PID}
      export BUILD_ID=dontKillMe
      if [[ $PID -ge 0 ]];then 
          kill -9 $PID
      fi
      //执行启动
      nohup java -jar /usr/local/test/test-SNAPSHOT.jar > /usr/local/test/testlogs.log 2>&1 &

      到这里一个简单的任务差不多就完成了,保存应用即可,回到主页选择你刚刚创建的任务



      可以查看在build时的日志记录


      出现SUCCESS 代表项目自动化部署成功,可以到服务器查看文件是否已上传,项目启动可能稍微慢,稍等即可访问,然后如果项目没起来可以查看jar包目录的日志文件


      至此!完结!希望能帮组到一些还没配置过的码友们

Logo

一站式 AI 云服务平台

更多推荐