前言
在安装jenkins前需要先安装jdk8。离线安装jenkins虽然简单,但是需要实现自动化部署,那么我们需要先安装jdk、maven、git,如果是war直接启动那么可以不需要tomcat,启动方式看你个人选择。
在KylinV10上离线安装jdk、git、maven、tomcat
启动
现在,我们Kylin上已安装好了jdk8和git还有maven和tomcat;我们现在开始安装jenkins。
它就是一个war,你丢到/tomcat/webapps下启动就好了
jenkins的插件存放在/root/.jenkins/plugins下,因为我们是离线模式安装,所以需要提前准备好。
jenkins离线部署套装
把我们准备好的插件上传后,复制到/root/.jenkins/plugins下
cp xxxx/* /root/.jenkins/plugins
重启tomcat
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刷新
去它告诉你的路径下cv操作密码
离线模式,我们不采用它的推荐
检查一下,我们所需的一些插件
git
maven
Publish over SSH
Deploy to Plugin
下面要配置的根据你个人实际情况去设置
Configure System (系统设置)
进行全局配置
配置jdk
配置maven
查看git路径
which git
配置git
全局安全配置
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不用。
创建项目和配置
你可以自行选择,
我一般会使用:
- maven打包
clean install
- shell脚本(也是maven打包)
mvn clean install package '-Dmaven.test.skip=true'
- gradle打包
这里值得注意的是:
要清楚你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 }'
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
配置完保存应用
所欲问题:
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