在KylinV10上离线安装jenkins实现自动部署

前言

在安装jenkins前需要先安装jdk8。离线安装jenkins虽然简单,但是需要实现自动化部署,那么我们需要先安装jdk、maven、git,如果是war直接启动那么可以不需要tomcat,启动方式看你个人选择。

在KylinV10上离线安装jdk、git、maven、tomcat

启动

现在,我们Kylin上已安装好了jdk8和git还有maven和tomcat;我们现在开始安装jenkins。
它就是一个war,你丢到/tomcat/webapps下启动就好了
在KylinV10上离线安装jenkins实现自动部署_第1张图片
在KylinV10上离线安装jenkins实现自动部署_第2张图片

jenkins的插件存放在/root/.jenkins/plugins下,因为我们是离线模式安装,所以需要提前准备好。
jenkins离线部署套装
在这里插入图片描述
把我们准备好的插件上传后,复制到/root/.jenkins/plugins下
cp xxxx/* /root/.jenkins/plugins
在KylinV10上离线安装jenkins实现自动部署_第3张图片
重启tomcat
在KylinV10上离线安装jenkins实现自动部署_第4张图片
ip+端口/jenkins 访问jenkins
我用的是tomcat部署的jenkins,所以端口是采用的tomcat的;

如果你用java -jar启动方式,jenkins默认8080端口,启动时可指定端口,

直接进入jenkins.war所在的目录执行该命令即可
nohup java -jar jenkins.war --httpPort=8099 >>log 2>&1 &

指定工作目录方式启动
nohup java -DJENKINS_HOME=/data/jenkins -jar jenkins.war  --httpPort=8099 >>log 2>&1 &

http://192.168.174.128:8888/jenkins

第一次比较久,不行就F5刷新
在KylinV10上离线安装jenkins实现自动部署_第5张图片
去它告诉你的路径下cv操作密码
在KylinV10上离线安装jenkins实现自动部署_第6张图片
离线模式,我们不采用它的推荐
在KylinV10上离线安装jenkins实现自动部署_第7张图片
在KylinV10上离线安装jenkins实现自动部署_第8张图片
在KylinV10上离线安装jenkins实现自动部署_第9张图片
在KylinV10上离线安装jenkins实现自动部署_第10张图片

检查一下,我们所需的一些插件

git
在KylinV10上离线安装jenkins实现自动部署_第11张图片
maven
在KylinV10上离线安装jenkins实现自动部署_第12张图片
Publish over SSH
在KylinV10上离线安装jenkins实现自动部署_第13张图片
Deploy to container Plugin
在KylinV10上离线安装jenkins实现自动部署_第14张图片
下面要配置的根据你个人实际情况去设置

Configure System (系统设置)

在KylinV10上离线安装jenkins实现自动部署_第15张图片

在KylinV10上离线安装jenkins实现自动部署_第16张图片
在KylinV10上离线安装jenkins实现自动部署_第17张图片

进行全局配置

在KylinV10上离线安装jenkins实现自动部署_第18张图片
配置jdk
在KylinV10上离线安装jenkins实现自动部署_第19张图片
配置maven
在KylinV10上离线安装jenkins实现自动部署_第20张图片
查看git路径
which git
在这里插入图片描述
配置git
在KylinV10上离线安装jenkins实现自动部署_第21张图片

全局安全配置

在KylinV10上离线安装jenkins实现自动部署_第22张图片

在KylinV10上离线安装jenkins实现自动部署_第23张图片
2.2版本需要修改jenkins的配置文件,关闭跨站请求伪造保护
vim /etc/sysconfig/jenkins

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"

我们是Jenkins 2.332.2不用。

创建项目和配置

在KylinV10上离线安装jenkins实现自动部署_第24张图片
在KylinV10上离线安装jenkins实现自动部署_第25张图片
在KylinV10上离线安装jenkins实现自动部署_第26张图片
在KylinV10上离线安装jenkins实现自动部署_第27张图片
在KylinV10上离线安装jenkins实现自动部署_第28张图片
在KylinV10上离线安装jenkins实现自动部署_第29张图片

你可以自行选择,
我一般会使用:

  • maven打包
clean install
  • shell脚本(也是maven打包)
mvn clean install package '-Dmaven.test.skip=true'
  • gradle打包

在KylinV10上离线安装jenkins实现自动部署_第30张图片

这里值得注意的是:

要清楚你ssh发送jar包到远程服务的文件位置,以及权限,启动时记得不要指定该jar位置;

启动脚本:
stop.sh

#!/bin/bash
echo “Stop Procedure : demo2-0.0.1-SNAPSHOT.jar”
pid=ps -ef |grep java|grep demo2-0.0.1-SNAPSHOT.jar|awk '{print $2}'
echo 'old Procedure pid:' p i d 5 i f [ − n " pid 5 if [ -n " pid5if[−n"pid" ]
then
kill -9 $pid
fi

start.sh

#!/bin/bash
export JAVA_HOME=/usr/local/jdk/jdk1.8
echo ${JAVA_HOME}
echo ‘Start the program : demo-0.0.1-SNAPSHOT.jar’
chmod 777 /opt/project/demo-0.0.1-SNAPSHOT.jar
echo ‘-------Starting-------’
cd /opt/project/
nohup ${JAVA_HOME}/bin/java -jar demo-0.0.1-SNAPSHOT.jar > /opt/project/log.log 2>&1 &
echo ‘start success’

上传stop.sh和start.sh至你远程的服务器

cd /你上传jar的地方
chmod +x start.sh
chmod +x stop.sh
./stop.sh
./start.sh

配置完保存应用
在KylinV10上离线安装jenkins实现自动部署_第31张图片
所欲问题:
Error: Unable to access jarfile /opt/project/demo-0.0.1-SNAPSHOT.jar
解决:

jar路径没使用绝对路径;
或者你执行的时候没在jar所在地方执行,没指定到jar去执行;

正常构建,但是报错:

SSH: Connecting from host [zsl]
SSH: Connecting with configuration [KylinV10_1] ...
SSH: EXEC: completed after 200 ms
SSH: Disconnecting configuration [KylinV10_1] ...
ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [126]]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
Finished: UNSTABLE

jenkins构建UNSTABLE问题(一般构建按钮为黄色)。

解决:
原来是.sh权限不足,需要给权限

chmod +x start.sh
chmod +x stop.sh

你可能感兴趣的:(jenkins,运维,java)