jenkins入门使用-jenkins linux springboot git jar包启动 非远程启动

准备工作:linux服务器本人在阿里云购买的alilinux。jenkins。简单的jar可启动即可。本人maven版本为:apache-maven-3.6.3,jdk使用1.8的即可
Jenkins下载地址:https://jenkins.io/zh/download/
本人使用的是jenkins-2.174-1.1版本

1:Jenkins

  1. 下载好RPM包后传入到Linux中 这里使用的是rz -e 上传
  2. 通过 “rpm -ivh Jenkins的rpm包名” 命令进行rpm包的安装
  3. 默认安装路径,自动安装完成之后:
    /usr/lib/jenkins/jenkins.war WAR包
    /etc/sysconfig/jenkins 配置文件
    /var/lib/jenkins/ 默认的JENKINS_HOME目录
    /var/log/jenkins/jenkins.log Jenkins日志文件
  4. 修改配置文件,添加JDK路径
    如果不修改配置文件,添加jdk路径,service jenkins start 会报错。
    " vi /etc/init.d/jenkins " 编辑Jenkins配置文件,添加jdk的Java路径,如下图:
    在这里插入图片描述
  5. 配置完成,再次启动Jenkins Jenkins默认端口为8080 可使用如下命令修改默认端口:
    “java -jar jenkins.war --ajp13Port=-1 --httpPort=8088”

2:JAR

在这里插入图片描述
简单的一个可启动jar即可。
注意!!! 如果命名为Main需要在pom中声明主入口

   <build>
        <finalName>smartlogc</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.smartlogc.web.Main</mainClass>
                    <!--spring-boot-maven-plugin插件打包出来的jar不可以互相依赖 加入以下配置即可实现互相依赖-->
                    <classifier>exec</classifier>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

3:Jenkins启动后配置

进入到Jenkins的网页中,默认端口:8080
进入后下载默认的插件即可。

  1. 构建Maven项目在这里插入图片描述
  2. 进入到项目的配置在这里插入图片描述
    这里使用的是git给定git地址即可,可选是否需要保留旧的构建。如果需要保留勾选即可。
  3. 设置git
    在这里插入图片描述
    添加一个用户此处的用户为git的用户名密码,用于拉取git项目。给定git地址。如果有别的分支使用别的分支即可。
  4. 重点!!build项目以及启动
    在这里插入图片描述
    这里给上父pom即可如果是多个“,”隔开即可

clean package -Dmaven.test.skip=true install

clean项目后进行package
因为项目和Jenkins在同一台服务器并没有使用到ssh这里直接在post steps里面执行sh。

注意这里的在这里插入图片描述为本人服务器地址,大家给上自己服务器的Jar地址即可。

#!/bin/sh -l

mv -f $WORKSPACE/smartlogc-web/target/smartlogc-exec.jar /usr/local/webserver/jar/SmartLogc.jar

rm -rf $WORKSPACE/*

bash /usr/local/webserver/startSmartLogc.sh  #这里是本人sh文件目录 在下方给出sh设置

startSmartLogc.sh 如下:

#jar包文件路径及名称(目录按照各自配置)
APP_NAME=/usr/local/webserver/jar/SmartLogc.jar
#日志文件路径及名称(目录按照各自配置)
LOG_FILE=/usr/local/webserver/logs/SmartLogc.log
#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
kill -9 $pid
echo "$pid进程终止成功"

sleep 2
#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
if test -e $APP_NAME
then
echo '文件存在,开始启动此程序...'
# 需声明不要杀自己以及子进程 否则jenkis会在sh后杀掉所有进程
BUILD_ID=dontKillMe
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar $APP_NAME > $LOG_FILE 2>&1 &
#实时查看启动日志(此处正在想办法启动成功后退出)
#tail -f $LOG_FILE
#输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉)
echo $APP_NAME'启动成功...'

else

这里注意BUILD_ID=dotKillMe 非常重要 如若不加上 则jar永远启动不成功 Jenkins在最后会杀掉所有的进程以及子进程

文章到这里结束啦。希望对你有帮助~

猜你喜欢

转载自blog.csdn.net/qq_33144515/article/details/105700306
今日推荐