项目自动打包部署脚本

项目自动打包部署脚本

本次自动打包部署依赖于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/Home

export M2_HOME=/softwore/apache-maven-3.3.9

export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

检查安装是否成功

sh-3.2# mvn --version

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"

三、配置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.pub

3.添加密钥到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/transcode


tomcat_home=/usr/local/tomcat_transcode
backups_home=$tomcat_home/backups

cd $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 "启动服务器命令执行完毕"

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

猜你喜欢

转载自blog.csdn.net/u014692324/article/details/71512735