基于Shell脚本自动部署!!!

本文详细介绍了项目自动部署的流程,包括在Gitee上创建远程仓库、安装Git和Maven、编写执行Shell脚本以实现代码拉取、编译、打包和启动,以及设置权限和Git凭证管理。重点强调了Maven的安装和配置,以及如何编写和执行Shell脚本来简化部署过程。
摘要由CSDN通过智能技术生成

1 、介绍

        项目的自动部署,从而来简化项目部署的操作,那么我们先来整体上了解一下项目自动部署的流程及操作步骤。

操作步骤如下:

1). 在Gitee上创建远程仓库,并将本地的项目代码推送到远程仓库中

2). 在Linux中安装Git,克隆代码

3). 在Linux中安装maven

4). 编写Shell脚本(拉取代码、编译、打包、启动)

5). 为用户授予执行Shell脚本的权限

6). 执行Shell脚本

2 、推送代码到远程

这部分操作,需要参考Git,来完成helloworld工程代码推送即可。

A. 创建远程仓库

B. 将idea中的代码提交并推送到远程仓库

3 、Git操作

1). Git软件安装

通过yum命令在线安装git,执行如下指令:

yum list git            列出git安装包
yum install git            在线安装git

通过上述指令,安装好git之后,我们就可以通过 git --version去验证git的环境。

2). Git克隆代码

cd /usr/local/
git clone https://gitee.com/ChuanZhiBoKe/helloworld.git

设置下一次输入的账号与密码自动保存

git config --global credential.helper store

4 、Maven安装

由于我们的工程是maven工程,我们要想进行项目的编译打包,需要用到maven的指令,所以需要安装maven。具体操作步骤如下:

1). 上传maven的安装包

通过rz指令上传课程资料中的maven安装包

2). 解压maven安装包到/usr/local目录

 tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

 

3). 在/etc/profile配置文件中配置环境变量


vim /etc/profile

修改配置文件,进入到命令模式,按G切换到最后一行,按a/i/o进入插入模式,然后在最后加入如下内容 :


export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

然后按ESC进入到命令模式,输入 :wq 保存并退出

要想让配置的环境变量生效,还需要执行如下指令:

source /etc/profile

4). 修改maven的settings.xml配置文件,配置本地仓库地址

A. 切换目录

cd /usr/local/apache-maven-3.5.4/conf

B. 编辑settings.xml配置文件

vim settings.xml

在其中增加如下配置,配置本地仓库地址:

<localRepository>/usr/local/repo</localRepository>

并在settings.xml中的<mirrors>标签中,配置阿里云的私服(==选做==):

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

5 、Shell脚本准备

Shell脚本(shell script),是一种Linux系统中的脚本程序。使用Shell脚本编程跟 JavaScript、Java编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

在/usr/local/目录下创建一个目录 sh(mkdir sh),并将shell脚本上传到该目录下。或者直接在sh目录下创建一个脚本bootStart.sh,然后将资料中的bootStart.sh文件打开,内容拷贝过来即可。

脚本解读:

6 、Linux权限

前面我们已经把Shell脚本准备好了,但是Shell脚本要想正常的执行,还需要给Shell脚本分配执行权限。 由于linux系统是一个多用户的操作系统,并且针对每一个用户,Linux会严格的控制操作权限。接下来,我们就需要介绍一下Linux系统的权限控制。

1). ==chmod==(英文全拼:change mode)命令是控制用户对文件的权限的命令

2). Linux中的权限分为三种 :读(r)、写(w)、执行(x)

3). Linux文件权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

4). 只有文件的所有者和超级用户可以修改文件或目录的权限

5). 要执行Shell脚本需要有对此脚本文件的执行权限(x),如果没有则不能执行

Linux系统中权限描述如下:

解析当前脚本的权限情况:

chmod命令可以使用八进制数来指定权限(0 - 代表无 , 1 - 执行x , 2 - 写w , 4 - 读r):

举例:

chmod 777 bootStart.sh   为所有用户授予读、写、执行权限
chmod 755 bootStart.sh   为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh   为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限

==注意:==

三个数字分别代表不同用户的权限

  • 第1位表示文件拥有者的权限

  • 第2位表示同组用户的权限

  • 第3位表示其他用户的权限

7 、授权并执行脚本

在测试阶段,我们可以给所有的人都赋予执行该shell脚本的权限。所以可以执行如下指令:

chmod 777 bootStart.sh

权限解读:

A. 第一个7,代表当前文件所有者root用户,对该文件具有读写执行权限;

B. 第二个7,代表当前文件所有者所属组的用户,对该文件具有读写执行权限;

B. 第三个7,代表其他用户,对该文件具有读写执行权限;

执行该shell脚本:

==注意: 在执行maven指令进行打包时,第一次执行可能会耗时比较长,因为在进行maven工程的打包时,需要到中央仓库下载工程依赖的jar包和插件(可以在settings.xml中配置阿里云私服加速下载)。==

启动完成之后, 我们可以查看java进程:

访问项目:

git config --global credential.helper store

设置git自动保存远程仓库的用户名与密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值