jenkins+gitee+ssh自动化部署
一、准备环境
1,配置maven(MAVEN_HOME)
2,配置jdk(JAVA_HOME)我这里用的jdk1.8.0_121,之前碰到过一次别的版本的jdk在启动tomcat无法解析https情况,如果有这种情况建议更换jdk版本
3,配置git(我这里用的时git)或者svn根据自己需求
4,下载jenkins.war包(https://www.jenkins.io/zh/download/)
5,配置对应的tomcat,修改tomcat配置文件conf/server.xml中加上utf-8解码。将上一步的jenkins.war包放在tomcat的webapps中启动tomcat
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
二、启动并配置
1,访问http://ip:8080/jenkins进入解锁界面
在linux中 cat /root/.jenkins/secrets/initialAdminPassword获取密码并登陆
2,初始化进入安装推荐插件(也可以自行安装不采用推荐的)
#远程部署容器(tomcat部署用)
Deploy to container Plugin
#git相关插件
Git plugin
#中文支持
Locale plugin
Localization: Chinese (Simplified)
#maven支持
Maven Integration plugin
#远程部署其他服务器shell命令支持
Publish Over SSH
3,jenkins系统配置
a>中文支持
b>配置Publish over SSH(远程控制的主机)可配置多个
4,安全配置(/jenkins/configureSecurity/)是否允许注册、是否允许登录后操作等这里就不讲了
5,全局工具配置
a>maven配置和jdk
b>git和maven
三、构建项目
新建item项目
1)配置git地址
2)构建触发器
3)构建
4)构建后操作
5)构建后的shell脚本
#!/bin/bash DATE=`date +%Y%m%d_%H:%M` PRO_NAME=cmkj SOR_DIR=/opt/module/project FILE_TYPE=jar JAVA=$JAVE_HOME/bin/java PID=`ps -ef |grep $PRO_NAME.$FILE_TYPE |grep -v grep |awk '{print $2}'` if [ -z $PID ];then echo "===the initial service is null, and it will be started now!===" nohup $JAVA -Xms64M -Xmx128M -Duser.timezone=\"GMT+08\" -Duser.language=\"zh\" -Duser.region=\"CN\" -Dspring.profiles.active=test -jar $SOR_DIR/$PRO_NAME\.$FILE_TYPE >> $SOR_DIR/nohup\.out 2>&1 & echo "===service started successful!===" else /bin/kill -9 $PID nohup $JAVA -Xms64M -Xmx128M -Duser.timezone=\"GMT+08\" -Duser.language=\"zh\" -Duser.region=\"CN\" -Dspring.profiles.active=test -jar $SOR_DIR/$PRO_NAME\.$FILE_TYPE >> $SOR_DIR/nohup\.out 2>&1 & echo "===service started successful!===" echo "===service restarted successful!===" fi