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: ...
随机推荐
- Python 删除含有只读文件(夹)的文件夹
def rm_read_only(fn, tmp, info): if os.path.isfile(tmp): os.chmod(tmp, stat.S_IWRITE) os.remove(tmp) ...
- java stream中Collectors的用法
目录 简介 Collectors.toList() Collectors.toSet() Collectors.toCollection() Collectors.toMap() Collectors ...
- ERC20 Short Address Attack
ERC20 Short Address Attack 什么是ERC20 Application Binary Interface(ABI) ERC20 Short Address Attack 开始攻 ...
- 自动化部署jenkins
jenkins下载网站 https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ 一.配置环境 [root@localhost ~]# hostname ...
- Linux命令(4):touch
功能说明: touch命令参数可创建新文件以及更改文档或目录的日期时间,包括存取时间和更改时间. 命令格式: touch [选项]... 文件... 命令参数: -a 或--time=atime或 ...
- C++类的开发实战--班级成绩管理系统
#include<bits/stdc++.h> using namespace std; struct birth { int year,month,day; }; struct grad ...
- 图论--2-SAT--POJ Ikki's Story IV - Panda's Trick
Description liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping ...
- 多线程高并发编程(7) -- Future源码分析
一.概念 A Future计算的结果. 提供方法来检查计算是否完成,等待其完成,并检索计算结果. 结果只能在计算完成后使用方法get进行检索,如有必要,阻塞,直到准备就绪. 取消由cancel方法执行 ...
- Python网络数据采集- 创建爬虫
1. 初见网络爬虫 1.1 网络连接 输出某个网页的全部 HTML 代码. urllib 是 Python 的标准库(就是说你不用额外安装就可以运行这个例子),包含了从网络请求数据,处理 cookie ...
- Python高级编程-Python一切皆对象
Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 ""&qu ...