现在我们就使用Gogs基于阿里云服务器CentOS 7 Docker部署搭建自己的git服务器。Gogs支持包括Windows、Mac、Linux以及ARM平台,而且是一款不错git管理系统,还是国内开源项目。Git是目前优秀和流行的源代码管理工具,而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。)
9、配置后运行
访问成功。 10、创建仓库测试 服务器搭建成功,创建了一个私有和公开的仓库。
附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 来完成首次运行的配置工作。
相关主题 |