在自动化部署服务器中,版本控制软件是必须的。服务器可以作为一个远程版本代码仓库使用,这也体现了远程服务器代码共享的优势。
一、版本控制软件的选择
版本控制软件常用有SVN、VSS和GIT,我们还是选择较为流行的GIT。
在远程服务器中,仅安装GIT的服务端是可以的,通过IDE工具可以无影响的提交代码。但单纯的GIT服务端,没有维护界面,带来了一些不便,如果能够搭建类似gitHub的GIT服务器,则会方便很多。
比较流行的带维护界面的有GitLab,但GitLab对配置的要求比较高,内存至少4G,那么对于我们选的最低配1C1G的阿里云服务器,显然达不到要求。
我们转而选择Gogs工具软件。把Gogs简单介绍下。
- Gogs 是一款极易搭建的自助 Git 服务。
- Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
- Gogs支持基本的GIT功能,能够应用与一般版本管理场景,且硬件要求较低,部署容易,界面友好。
详细介绍见下面网址。
https://github.com/gogs/gogs/blob/master/README_ZH.md
二、Gogs的安装
2.1 cenTOS配置
(1)创建git用户组
#创建 git 用户
useradd git
#设置密码
passwd git
#创建 git 组
groupadd git
#将 git 用户添加到 git 组
usermod -a -G git git
(2)创建仓库目录并授权
# 切换到跟目录下,创建仓库所在目录,需要使用 root 权限
sudo mkdir git
# 设置组内读写权限
sudo chmod 775 git
# 将仓库所在目录拥有组改为 git
sudo chgrp -R git git
# 将仓库所在目录拥有者改为git
sudo chown -R git git
2.2 gogs的安装
(1)安装git
阿里云已经内置了git安装包,安装git只需执行命令(centos环境):
yum install git
(2)下载安装包
可直接在阿里云服务器内下载gogs安装包,具体使用哪个安装包请根据操作系统选择。
Cd git
#到达git文件夹下
wget https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.zip
unzip gogs_0.11.86_linux_amd64.zip
(3)启动gogs
进入gogs目录,在gogs目录下执行./gogs web,看到以下信息就可以进行安装了。
(4)配置阿里云端口
由于gogs使用的3000端口,在阿里云中需要增加安全组规则,对这个端口进行放行。具体的配置如图。
(5)配置gogs
在网页中输入阿里云的ip和端口作为网址,打开gogs界面进行配置。如:http://47.103.62.101:3000/。界面如下:
配置好后就出现欢迎界面。点击注册后就可以开始使用啦。
点击创建仓库后新建一个空的仓库,如下:
(6)使gogs在后台运行
用web命令运行gogs有个缺点是,gogs始终在前台命令行运行,占用了控制台使用权,需要将gogs转入后台运行。
解决这一问题,可使用 nohup ./gogs web & 命令。
nohup ./gogs web &
执行后显示结果如图,命令行可以继续执行其他命令,而gogs的日志文件也可正常在控制台输出。
(7)在Intellij IDEA中连接仓库,并推送代码
暂时采用HTTP的方式连接远程代码仓库,将代码push至仓库。远程仓库的配置如图。
由于采用的http方式,连接数据库时需要用户名密码,见下图。
注意:若Gogs服务器出现authorized错误,是由于HTTP登录远程仓库的用户名密码错误,按下面文章的方法解决。
https://www.cnblogs.com/shenyf/p/9876307.html
相当于手动清空远程桌面,重新录入用户名密码。
至此,从idea就可以push代码到远程仓库了,通过gogs也可以很方便的管理代码版本和各个分支。
后面我们将安装Jenkins这个常用的部署调度工具,将其与gogs结合,完成代码质量的管理。