Jenkins安装
Jenkins windows 和 liunx的安装自行百度!简单的很 下一步下一步就行了
安装插件
下面介绍实际部署中所用到的几个插件,安装方法:系统管理->管理插件 搜索安装即可。
- 安装Deploy to container Plugin(自动化部署插件)
- 安装Maven Integration Plugin(Maven集成插件)
- 安装Publish Over SSH Plugin(SSH远程发布插件)
-
Publish over SSH配置
Maven配置
主要就是发布配置详情:
-
点击新建任务 选择
-
创建完成之后进行任务配置
我这里是使用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包目录的日志文件
至此!完结!希望能帮组到一些还没配置过的码友们
-