项目自动打包部署脚本

本次自动打包部署依赖于git、maven来实现自动化部署项目

一、远程服务器安装git

检查git是否已安装:

sh-3.2# git --version
git version 2.10.1

标识已经安装,否则未安装

安装指令:

$ yum install git

二、maven安装
检查maven是否已安装

sh-3.2# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /softwore/apache-maven-3.3.9
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: ISO8859-1
OS name: "mac os x", version: "10.12.4", arch: "x86_64", family: "mac"

表示已安装,否则未安装

安装指令:

sh-3.2#wget  https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
sh-3.2# tar -zxvf apache-maven-3.5.0-bin.tar.gz
sh-3.2# vi /etc/profile

添加配置环境变量

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Homeexport M2_HOME=/softwore/apache-maven-3.3.9export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

检查安装是否成功

sh-3.2# mvn --versionApache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /softwore/apache-maven-3.3.9
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: ISO8859-1
OS name: "mac os x", version: "10.12.4", arch: "x86_64", family: "mac"

三、配置ssh证书

1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:
$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
按3个回车,密码为空。Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………最后得到了两个文件:id_rsa和id_rsa.pub3.添加密钥到ssh:ssh-add 文件名
需要之前输入密码。
4.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
打开https://github.com/ ,登陆xuhaiyan825,然后添加ssh。5.测试:ssh git@github.com
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts.
ERROR: Hi tekkub! You’ve successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.

四、编写 deploy.sh shell脚本

git_dir=/home/git/transcode
pom_dir=$git_dir/transcodetomcat_home=/usr/local/tomcat_transcode
backups_home=$tomcat_home/backupscd $git_dir
echo "拉取git仓库源码start"
git checkout master && git pull
echo "拉取git仓库源码end"cd $pom_dir
echo "mvn编译打包start"
mvn clean install -Ppro -Dmaven.test.skip=true
echo "mvn编译打包end"backups_path=$backups_home/`date +%Y-%m-%d-%H%M`/
mkdir $backups_path
echo "备份start,备份路径:"$backups_path
cp $tomcat_home/webapps/ROOT.war $backups_path
echo "备份end"echo "关闭服务器"
sh $tomcat_home/bin/shutdown.sh
sleep 5
echo "删除webapps项目"
rm -rf $tomcat_home/webapps/ROOT*
echo "部署新包"
cp /repo/com/cnlive/yun/transcode-server/0.0.1-SNAPSHOT/transcode-server-0.0.1-SNAPSHOT.war $tomcat_home/webapps/ROOT.war
echo "启动服务器"
sh $tomcat_home/bin/startup.sh
echo "启动服务器命令执行完毕"

到此为止、自动打包部署脚本已完成,如有疑问请留言。

项目自动打包部署脚本相关推荐

  1. Springboot项目自动打包部署插件 (wagon-maven-plugin)

    Springboot项目自动打包部署插件 (wagon-maven-plugin) pom.xml文件添加配置: <properties>中添加: <service-path> ...

  2. iOS开发之项目自动打包Shell脚本

    Github地址:https://github.com/AAWayne/YWAutoPackage 平时自用的iOS项目自动打包脚本,支持自动上传蒲公英.App Store等应用分发平台 前言 先说说 ...

  3. mvn打包并部署本地tomcat_maven项目自动打包部署到tomcat中

    1. 在eclipse配置tomcat,部署路径设置为tomcat的webapps目录下. 2.修改tomcat-users.xml 3.maven的settings.xml 文件打开,写入用户名和密 ...

  4. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  5. 自动打包linux,使用Jenkins如何自动打包部署linux

    使用Jenkins如何自动打包部署linux 发布时间:2020-11-25 14:47:07 来源:亿速云 阅读:86 作者:Leah 使用Jenkins如何自动打包部署linux?很多新手对此不是 ...

  6. 安装Jenkins及配置自由风格自动打包部署

    安装Jenkins 拉取Jenkins镜像 docker pull jenkinsci/blueocean 运行镜像 docker run -u root -d -p 8080:8080 -p 500 ...

  7. Docker的镜像制作与整套项目一键打包部署

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr. ...

  8. php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理

    这次给大家带来Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理,Vue项目webpack打包部署时Tomcat刷新报404错误问题处理的注意事项有哪些,下面就是实战案例,一起 ...

  9. Vue项目webpack打包部署到服务器

    Vue项目webpack打包部署到服务器 这篇博文主要说的就是我今天遇到的问题,而且在经过我的询问,好多人在打包部署的时候都遇到了一些问题,下面就来说下,如何将Vue项目放置在服务器上,这里以Tomc ...

最新文章

  1. Linux 帧缓存 数据,linux--帧缓存技术
  2. 2019.08.04 新建随笔
  3. Django框架----Object Relational Mapping(ORM)
  4. WCF中的管道——管道类型
  5. Linux shell - 重命名文件和文件夹(mv)
  6. 数据库的文本处理函数
  7. win7计算机找不到脚本文件夹,win7系统开机出现无法找到脚本文件怎么办
  8. SpringMVC 统一异常处理
  9. kettle基础教程-kettle9教程
  10. NLP关键词提取方法总结及实现
  11. Java知识点(三)
  12. Mask RCNN 实战(二)--像黑镜一样屏蔽图片和视频中的人和物体
  13. JD-获得JD商品评论
  14. mysql清空表分区数据恢复_清空表数据恢复 mysql恢复某个表数据
  15. mysql计算结果取整_Sql 获取向上取整、向下取整、四舍五入取整的实例(转)
  16. lamp mysql开机自启_CentOS 程序开机自启动方法总结
  17. U盘启动盘装系统Win10教程
  18. 什么软件可以文字转语音?这些软件值得收藏
  19. 竹林蹊径:深入浅出Windows驱动开发(china-pub预订中)
  20. 2022年证券从业资格投资顾问考试每日一练及答案

热门文章

  1. node 模块 fs-extra
  2. 蓝桥杯2018年省赛真题--全球变暖
  3. 愿作经验丰富者的忠实聆听者
  4. Matlab命令行窗口中直接将内容输出disp命令
  5. matlab关于disp的使用方法
  6. 深度学习之初识篇——小白也能跑通的深度学习万能框架【交通标识牌检测】
  7. Pytorch实战总结篇之数据准备
  8. 巨杉数据库sequoiadb助理工程师(SCDA)初级考试笔记(一)
  9. Asiabrand访谈:农企怎样进行品牌价值评估?
  10. tomcat设置线程数