云网牛站
所在位置:首页 > Linux云服务器 > 阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

2018-08-18 16:08:11作者:DonaldTDZ稿源:linux站

现在我们就使用Gogs基于阿里云服务器CentOS 7 Docker部署搭建自己的git服务器。Gogs支持包括Windows、Mac、Linux以及ARM平台,而且是一款不错git管理系统,还是国内开源项目。Git是目前优秀和流行的源代码管理工具,而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费。而公司出于商业化等目的需要搭建自己的源代码托管服务器。

 

相关链接

Gogs官网

gogs github

 

操作步骤

1、购买一个阿里云Linux服务器,系统选择CentOS 7

2、docker安装,在系统中运行命令

yum install docker

docker -v

安装完毕后使用docker -v查看下版本号。

3、启动docker

systemctl start docker

4、安装gogs

docker pull gogs/gogs

使用docker pull gogs/gogs 把镜像下载下来。

5、创建存储代码的仓库和配置文件所在的位置

mkdir -p /var/gogs

6、使用docker命令启动gogs

docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

其中10022映射的是docker中的22端口 10080映射的是http的3000端口,这个在我们启动的时候会使用到该配置。(注:我这里运行后一直停留在某个点没有完成,需重启服务器,重复执行步骤3。)

7、启动gogs

docker start gogs

docker ps

docker ps查看启动状态

8、访问gogs,访问链接是ip+端口进行配置(注:阿里云需要在安全组规则配置入站规则,即服务器端口10080,ssh端口10022。)

阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

9、配置后运行

阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

访问成功。

10、创建仓库测试

服务器搭建成功,创建了一个私有和公开的仓库。

阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

阿里云服务器CentOS 7 Docker中部署使用gogs搭建git服务器

 

附1:源码安装Gogs

1.基本依赖

Go 语言:版本 >= 1.6

2.安装 Go 语言

如果您的系统已经安装要求版本的 Go 语言,可以跳过此小节。

3.下载

可以通过以下方式安装 Go 语言到 /home/git/local/go 目录:

sudo su - git

cd ~

# create a folder to install 'go'

mkdir local

# Download go (change go$VERSION.$OS-$ARCH.tar.gz to the latest release)

wget https://storage.googleapis.com/golang/go$VERSION.$OS-$ARCH.tar.gz

# expand it to ~/local

tar -C /home/git/local -xzf go$VERSION.$OS-$ARCH.tar.gz

4.设置环境

请设置和您系统环境对应的路径:

sudo su - git

cd ~

echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc

echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc

echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc

source $HOME/.bashrc

5.安装 Gogs

常用的安装方式:

# 下载并安装依赖

$ go get -u github.com/gogs/gogs

# 构建主程序

$ cd $GOPATH/src/github.com/gogs/gogs

$ go build

6.构建 develop 分支版本

如果想要安装 develop(或其它)分支版本,则可以通过以下命令:

$ mkdir -p $GOPATH/src/github.com/gogs

$ cd $GOPATH/src/github.com/gogs

# 请确保没有使用 “https://github.com/gogs/gogs.git”

$ git clone --depth=1 -b develop https://github.com/gogs/gogs

$ cd gogs

$ go build

7.测试安装

可以通过以下方式检查 Gogs 是否可以正常工作:

cd $GOPATH/src/github.com/gogs/gogs

./gogs web

如果没有发现任何错误信息,则可以使用 Ctrl-C 来终止运行。

8.使用标签构建

Gogs 默认并没有支持一些功能,这些功能需要在构建时明确使用构建标签(build tags)来支持。

目前使用标签构建的功能如下:

sqlite3:SQLite3 数据库支持

pam:PAM 授权认证支持

cert:生成自定义证书支持

miniwinsvc:Windows 服务内置支持(或者您可以使用 NSSM 来创建服务)

例如,需要支持以上所有功能,则需要先删除 $GOPATH/pkg/{GOOS_GOARCH}/github.com/gogs/gogs 目录,然后执行以下命令:

$ go get -u -tags "sqlite pam cert" github.com/gogs/gogs

$ cd $GOPATH/src/github.com/gogs/gogs

$ go build -tags "sqlite pam cert"

 

附2:配置与运行Gogs

1.默认配置文件

默认配置都保存在 conf/app.ini,您 永远不需要 编辑它。该文件从 v0.6.0 版本开始被嵌入到二进制中。

2.自定义配置文件

那么,在不允许修改默认配置文件 conf/app.ini 的情况下,怎么才能自定义配置呢?很简单,只要创建 custom/conf/app.ini 就可以!在 custom/conf/app.ini 文件中修改相应选项的值即可。

例如,需要改变仓库根目录的路径:

[repository]

ROOT = /home/jiahuachen/gogs-repositories

当然,也可以修改数据库配置:

[database]

PASSWD = root

3.为什么要这么做?

乍一看,这么做有些复杂,但是这么做可以有效地保护您的自定义配置不被破坏:

从二进制安装的用户,可以直接替换二进制及其它文件而不至于重新编写自定义配置。

从源码安装的用户,可以避免由于版本管理系统导致的文件修改冲突。

4.运行 Gogs 服务

1].开发者模式:

需要在 custom/conf/app.ini 文件中将选项 security -> INSTALL_LOCK 的值设置为 true。

可以使用超能的 make 命令:

$ make

$ ./gogs web

2].部署模式:

脚本均放置在 scripts 目录,但请在仓库根目录执行它们

Gogs 支持多种方式的启动:

普通:只需执行 ./gogs web

守护进程:详见 scripts 文件夹

然后访问 /install 来完成首次运行的配置工作。

 

相关主题

在Linux下常用的3款Git图形客户端

精选文章
热门文章