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="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" 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=/opt/module/jdk8/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 - $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
四、本项目的构建流程

jenkins+gitee+ssh自动化部署的更多相关文章
- Linux-GitLab+Jenkins持续集成+自动化部署
GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...
- Jenkins+Gitlab+Ansible自动化部署(五)
Freestyle Job实现静态网站部署交付(接Jenkins+Gitlab+Ansible自动化部署(四)https://www.cnblogs.com/zd520pyx1314/p/102445 ...
- Jenkins+Gitlab+Ansible自动化部署(六)
Pipeline Job实现Nginix+MySQL+PHP+Wordpress实现自动化部署交付(Jenkins+Gitlab+Ansible自动化部署(五)https://www.cnblogs. ...
- Jenkins+Gitlab+Ansible自动化部署(二)
接Jenkins+Gitlab+Ansbile自动化部署(一):https://www.cnblogs.com/zd520pyx1314/p/10210727.html Ansible的配置与部署 工 ...
- Jenkins+Gitlab+Ansible自动化部署(四)
接Jenkins+Gitlab+Ansible自动化部署(三)https://www.cnblogs.com/zd520pyx1314/p/10235394.html Jenkins应用 Jenkin ...
- Jenkins+Gitlab+Ansible自动化部署(三)
接Jenkins+Gitlab+Ansible自动化部署(一)https://www.cnblogs.com/zd520pyx1314/p/10210727.html 和(二)https://www. ...
- Jenkins+Gitlab+Ansible自动化部署(一)
首先准备实验环境 虚拟机 主机名 IP地址 服务 系统版本 内核版本 Vmware Workstation 14 gitlab.example.com 192.168.244.130 gitlab ...
- Windows+.Net Framework+svn+IIS在Jenkins上的自动化部署入门
关于Jenkins的使用及安装,上一篇文章我已经介绍过了,Windows+.NetCore+git+IIS在Jenkins上的自动化部署入门.这篇主要是在jenkins如何安装SVN和MSBuild. ...
- Jenkins Ansible GitLab 自动化部署
Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...
随机推荐
- nginx 配置大吞吐量
ng做反向代理服务是如果没有这两行配置吞吐量到8000-10000就上不去. proxy_http_version 1.1; # 后端配置支持HTTP1.1,必须配 proxy_set_header ...
- Oracle 11g 精简客户端
通常开发人员会装上一个 oracle客户端,但一般不会在自己的机器上安装Oracle database Oracle 客户端安装体积很大,但是装上去了基本上就用2个功能:TNS配置服务名和sqlplu ...
- UVALive 7505 Hungry Game of Ants
1. 笔记 比较容易的动态规划题.往左很好考虑,往右用dpi表示前i只都被k吃掉后,k继续往右仍然不死的情况数.状态转移方程为dp[I]=dp[I+1]+...+dp[j],分别对应第I+1位向左,. ...
- android开发之自定义View 详解 资料整理 小冰原创整理,原创作品。
2019独角兽企业重金招聘Python工程师标准>>> /** * 作者:David Zheng on 2015/11/7 15:38 * * 网站:http://www.93sec ...
- 自动驾驶汽车数据不再封闭,Uber 开源新的数据可视化系统
日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式.AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已 ...
- java基于socket的网络通信,实现一个服务端多个客户端的群聊,传输文件功能,界面使用Swing
最近在复习java的io流及网络编程.但复习写那些样板程序总是乏味的.便准备写个项目来巩固.想来想去还是聊天项目比较好玩.如果日后完成的比较好自己也可以用(哈哈哈).并且自己后面也要继续巩固java多 ...
- python(类继承)
一.继承 1.单继承 一个对象使用另一个对象的属性和方法,被继承的类也称父类 (1)父类与子类的方法不一样 class Four(): def sub(self,x,y): return x + y ...
- 07 模型层 orm相关查询 F查询Q查询 django开启事务
一.Django终端打印SQL语句 如果你想知道你对数据库进行操作时,Django内部到底是怎么执行它的sql语句时可以加下面的配置来查看 在Django项目的settings.py文件中,在最后复制 ...
- 转载acm几何基础(2)
判断两条线段是否相交: 矢量 如果一条线段的端点是有次序之分的话,那么这种线段就称为 有向线段,如果有向线段p1p2的起点p1在坐标的原点,则可以把它称为矢量p2 矢量的加减 设二维矢量 P = (x ...
- windows脱密码总结
方式1:通过SAM数据库获得本地用户HASH sam文件:是用来存储本地用户账号密码的文件的数据库system文件:里面有对sam文件进行加密和加密的密钥 利用方式: 导出sam和system: re ...