Gogsを使用してGitLabよりも使いやすいGitサービスプラットフォームを簡単に構築

5079 ワード

前言
GitHubはすでに第一選択のコード管理プラットフォームとなっている.それは素晴らしい機能がたくさんあるので、操作が簡単で、ほとんどの開発者がそれが好きだ.しかしGitLabを構築する過程は想像していたほど簡単ではなく、Bitnamiを利用するのももちろんサボる良い選択です.Gogs(Go Git Service)は構築しやすいセルフサービスGitサービスであり、Gogsの目標は最も簡単で、最も迅速で、最も簡単な方法でセルフサービスGitサービスを構築することである.Go言語の開発により、Gogsは独立したバイナリで配布でき、Linux、Mac OS X、Windows、ARMプラットフォームなど、Go言語でサポートされているすべてのプラットフォームをサポートします.
GogsはGitLabより良い選択かもしれません
レコードの更新
2016年03月31日-初稿
原文を読む-http://wsgzao.github.io/post/gogs/
拡張読書
Gogs - https://gogs.io/GitLab - https://about.gitlab.com/Bitnami GitLab Stack - https://bitnami.com/stack/gitlab
Bitnami GitLab Stack
Bitnami GitLab Stack ships with the following software versions
  • GitLab 8.5.7
  • Apache 2.4.18
  • ImageMagick 6.7.5
  • PostgreSQL 9.4.6
  • Git 2.7.4
  • Ruby 2.1.8
  • Rails 4.2.5.1
  • RubyGems 1.8.12

  • Btinami GitLab Stackの取り付けは本当に簡単で、さわやかです
    chmod 755 bitnami-gitlab-8.5.7-0-linux.run
    https://bitnami.com/stack/gitlab/README....
    Gogs機能特性
  • アクティブタイムライン
  • をサポート
  • SSHおよびHTTP/HTTPSプロトコル
  • をサポート
  • は、SMTP、LDAP、およびリバースエージェントのユーザ認証
  • をサポートする.
  • は、逆プロキシサブパス
  • をサポートする.
  • は、ユーザ、組織、および倉庫管理システム
  • をサポートする.
  • は倉庫と組織レベルのWebフック(Slack集積を含む)
  • をサポートする.
  • は倉庫Gitフックと配置鍵
  • をサポートする.
  • は、倉庫作業指示(Issue)、連結要求(Pull Request)、Wiki
  • をサポートします.
  • では、倉庫協力者の追加と削除をサポートする
  • Gravatarおよびカスタムソース
  • をサポート
  • メールサービス
  • をサポート
  • はバックグラウンド管理パネル
  • をサポートする.
  • は、MySQL、PostgreSQL、SQLite 3、およびTiDB(実験的サポート)データベース
  • をサポートします.
  • マルチ言語ローカライズ(15言語)
  • をサポート
    GitHubを参照比較対象とする
    とくせい
    Gogs
    Gitlab
    Github
    Dashboard & File Browser
    Y
    Y
    Y
    Issue Tracking, Milestones & Commit keywords
    Y
    Y
    Y
    Organizations support
    N
    Y
    Y
    Wiki
    N
    Y
    Y
    Code Review
    N
    Y
    Y
    Code Snippets
    N
    Y
    Y
    Web Hooks
    Y
    Y
    Y
    Git Hooks
    Y
    * Enterprise
    * Enterprise
    LDAP Login
    Y
    Y
    Y
    LDAP Group Sync
    N
    * Enterprise
    * Enterprise
    Branded Login Page
    N
    * Enterprise
    * Enterprise
    Language
    Go
    Ruby
    Ruby
    Platform
    Cross-Platform
    Linux
    * Virtual Machine
    License
    MIT
    MIT
    Proprietary
    Resource Usage
    Low
    Medium/High
    Medium/High
    Gogs環境要件
    rhel 6.3を例にとると、ライフサイクルの端に属しています.
    #  git
    yum install -y git
    git --version
    git version 1.7.1
    
    #  mysql-server
    yum install -y mysql-server
    mysql --version
    mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
    
    #     
    service mysqld start
    chkconfig mysqld on
    
    #  gogs   
    cd /home/git/gogs/scripts
    #mysql -u root -p < mysql.sql
    mysql -u root -p
    # (    ,       )
    set global storage_engine = 'InnoDB';
    create database gogs character set utf8 collate utf8_bin;
    create user 'gogs'@'localhost' identified by 'gogs';
    grant all privileges on gogs.* to 'gogs'@'localhost';
    flush privileges;
    exit;
    

    Gogsの配備
    Gogsは極めて構築しやすいセルフサービスGitサービスです
    https://gogs.io/docs
    #  git  
    sudo adduser git
    su - git
    
    #  gogs
    cd /home/git
    unzip gogs_v0.9.13_linux_amd64.zip
    ls /home/git/gogs/
    gogs  LICENSE  public  README.md  README_ZH.md  scripts  templates
    
    #  gogs
    cd /home/git/gogs
    ./gogs web
    
    2016/03/31 16:23:53 [W] Custom config '/home/git/gogs/custom/conf/app.ini' not found, ignore this if you're running first time
    2016/03/31 16:23:53 [T] Custom path: /home/git/gogs/custom
    2016/03/31 16:23:53 [T] Log path: /home/git/gogs/log
    2016/03/31 16:23:53 [I] Gogs: Go Git Service 0.9.13.0318
    2016/03/31 16:23:53 [I] Log Mode: Console(Trace)
    2016/03/31 16:23:53 [I] Cache Service Enabled
    2016/03/31 16:23:53 [I] Session Service Enabled
    2016/03/31 16:23:53 [I] SQLite3 Supported
    2016/03/31 16:23:53 [I] Run Mode: Development
    2016/03/31 16:23:54 [I] Listen: http://0.0.0.0:3000
    
    #    
    nohup ./gogs web &
    tail -f nohup.out
    

    app.iniプロファイル
    注意DOMAINとROOT_URLの2つのパラメータ
    https://gogs.io/docs/advanced/configurat...
    #                 
    http://ip:3000/install
    
    #    app.ini   
    vi /home/git/gogs/custom/conf/app.ini
    
    APP_NAME = Gogs: Go Git Service
    RUN_USER = git
    RUN_MODE = prod
    
    [database]
    DB_TYPE  = mysql
    HOST     = 127.0.0.1:3306
    NAME     = gogs
    USER     = gogs
    PASSWD   = gogs
    SSL_MODE = disable
    PATH     = data/gogs.db
    
    [repository]
    ROOT = /home/git/gogs-repositories
    
    [server]
    DOMAIN       = 172.28.70.134
    HTTP_PORT    = 3000
    ROOT_URL     = http://172.28.70.134:3000/
    DISABLE_SSH  = false
    SSH_PORT     = 22
    OFFLINE_MODE = false
    
    [mailer]
    ENABLED = false
    
    [service]
    REGISTER_EMAIL_CONFIRM = false
    ENABLE_NOTIFY_MAIL     = false
    DISABLE_REGISTRATION   = false
    ENABLE_CAPTCHA         = true
    REQUIRE_SIGNIN_VIEW    = false
    
    [picture]
    DISABLE_GRAVATAR = false
    
    [session]
    PROVIDER = file
    
    [log]
    MODE      = file
    LEVEL     = Info
    ROOT_PATH = /home/git/gogs/log
    
    [security]
    INSTALL_LOCK = true
    SECRET_KEY   = i4B7R55aRaFdw8j