4

搭建 gogs 代码托管服务器

 3 years ago
source link: http://wwj718.github.io/post/iot/gogs-install/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

搭建 gogs 代码托管服务器

2015-08-03

前头写到搭建好了gitlab,不过没有找到汉化的方法,而且看去界面蛮繁琐的(针对没有使用github的同学而言)。为了降低大家入门门槛,决定使用gogs来搭建代码托管服务器。

#gogs github上的star截止至15.08.03,已经超过8k。自助安装极其方便,有各个平台的二进制文件,甚至可以轻易搭建在树莓派上

#install

##安装mysql 你也可以不安装任何数据库,默认会使用sqlite

sudo apt-get install mysql-server

进入mysql,创建好数据库:CREATE DATABASE gogs;

##安装gogs 采用二进制安装

wget http://gogs.dn.qbox.me/gogs_v0.6.3_linux_amd64.zip
unzip gogs_v0.6.3_linux_amd64.zip

###run it

chmod +x gogs
./gogs web

跑起来后进入到一个安装配置页面,邮件服务器的配置需要注意一下端口号,举个栗子:smtp.qq.com:25.此外注意一下当出现运行系统用户非当前用户错误是,在配置里填上你运行./gogs web对应的用户

如果需要修改配置文件,只要编辑gogs目录下的:custom/conf/app.ini

整个过程极其建议

ps:管理员可以不设置,第一个注册的用户将被认为是管理员

如果要reinstall,只要把data和custom目录删除即可

##备份 默认情况下,代码仓库在~/gogs-repositories下,备份的话除了备份数据库(gogs/data),也注意备份这个目录,推荐使用backup,我在此前的一篇博客里有提到:here

backup的安装非常蛋疼,在ruby1.9中各种出错,还是使用rsync好了

###使用rsync同步数据

  • 配置好ssh免登陆
    • ssh-keygen -t dsa
    • sudo cp -R .ssh /root/
    • ssh-copy-id -i .ssh/id_dsa.pub xx@backup_host
  • 本地推送到远程:/usr/bin/rsync -avH /home/xx/gogs-repositories xx@backup_host:~/backup/
  • 备份mysql数据
    • /usr/bin/mysqldump -uroot -pxxx gogs > /tmp/gogs.sql
  • 使用cron写定时任务
    • 00 01 * * * /usr/bin/rsync xxx (每天凌晨1点同步数据)

使用Supervisor管理进程

参考使用Supervisor来管理进程

/etc/supervisord.conf.d/创建gogs.conf:

:::text
[program:gogs]

user=wwj
directory=/home/wwj/gogs/gogs
command=/home/wwj/gogs/gogs/gogs web
environment = HOME="/home/wwj", USER="wwj"
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/gogs/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB

supervisorctl restart gogs


Recommend

  • 39

    Easy to install Simply run the binary for your platform. Or ship Gogs with

  • 20

    jenkins+gogs实现自动化部署(序) 距离上次博客已经有一年多的时间了,不想给自己找太多的理由,总结一句还是太懒了。去年5月份换了家传统行业的公司,刚来就分配到了一个项目组负责移动端的项目,跟之前的开发模式不太一样,因为是甲方公司...

  • 9

    jenkins+gogs实现Android项目自动化部署(三) 上一篇项目主要介绍了jenkins+gogs实现JavaWeb项目自动化部署,这一篇重点介绍下Android项目的自动部署。另外注意下这一篇主要介绍在宿主机(jenkins安装所在的服务器)上打包,也就是远程打包部署,可能...

  • 21

    jenkins+gogs实现JavaWeb项目自动化部署(二) 上一篇文章主要介绍了jenkins和gogs的安装,这一篇重点介绍如何实现JavaWeb项目的自动化部署。 我们的目标是把war包传到应用服务器上,然后关闭tomcat,再启动tomcat。先看下面我们的打包...

  • 18

    jenkins+gogs实现JavaWeb项目自动化部署(一) 关于jenkins和gogs这两个环境的搭建我这里简单的介绍下,以下均在centos7环境下。 一、jenkins安装 我是拿的这篇博客的

  • 12
    • server.51cto.com 4 years ago
    • Cache

    用Gogs搭建属于自己的Git服务器

      背景 我们都知道,像码云、GitHub就是一个免费托管开源代码的远程仓库。但是对于公司来说,既不想公开源代码,又舍不得给交保护费,...

  • 7

    关于代码托管,公司是基于Gitlab自建的,它功能全而强大,但是也比较重,我个人偏向于开源、小巧、轻便、实用,所以就排除了Github,在Gogs和Gitea中选者。Gogs在Github有38k+Star,Gitea在Github要偏少一些,只有27k+Star,但是Gitea更新更快,功能更多,Gogs...

  • 20
    • zh1x1an.github.io 3 years ago
    • Cache

    Gogs 远程代码执行 (CVE-2018-18925)

    Gogs 远程代码执行 (CVE-2018-18925) 创建时间:2020-01-14 23:10 字数:1.3k 阅读:12...

  • 9
    • wwj718.github.io 3 years ago
    • Cache

    搭建私有 GitLab 代码托管服务器

    搭建私有 GitLab 代码托管服务器 2015-07-28 技术 ...

  • 7
    • ljlu1504.github.io 2 years ago
    • Cache

    Gogs代码自动部署

    Gogs代码自动部署 评分: 4.5 作者: Ryan Lu 类别: Git 时间:...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK