テンセントクラウドCentOS 7に基づいてGitLabを構築

6473 ワード

CentOS 7に基づくGitLabの構築

  • GitLabって何ですか?
  • 1、準備環境
  • 1.1アップデートパッケージ
  • 1.2 sshd
  • を取り付ける
  • 1.3ファイアウォール
  • を配置する
  • 1.4 postfix
  • をインストールする
  • 1.5 swap交換パーティション
  • を構成する
  • 2、GitLab
  • を取り付ける
  • 2.1ソフトウェアソースを国内ソース
  • に変更
  • 2.2 GitLab
  • を取り付ける
  • 3、初期化GitLab
  • 3.1 GitLabを構成するドメイン名(必須でない)
  • 3.2初期化GitLab
  • 4、GitLab取付完了
  • 5、デフォルトポート
  • の変更

    GitLabって何?


    GitLabはWebベースのGit倉庫管理ソフトウェアで、コード管理、Wiki、Issue追跡などの機能を提供しています.GitLabは、自社のサーバにインストールできるGitHubに相当し、チーム開発者に最適です.

    1、準備環境


    正式にインストールを開始する前に、パッケージを更新し、関連サービスの権限を開きます.

    1.1パッケージの更新

    yum update -y
    

    1.2 sshdのインストール


    sshdのインストール:
    yum install -y curl policycoreutils-python openssh-server
    

    sshdを有効にして起動するには、次の手順に従います.
    systemctl enable sshd
    systemctl start sshd
    

    1.3ファイアウォールの構成


    /etc/sysctlを開きます.confファイル、ファイルの最後に新しい行を追加し、Ctrl+Sで保存します.
    net.ipv4.ip_forward = 1
    

    ファイアウォールの有効化と起動:
    systemctl enable firewalld
    systemctl start firewalld
    

    HTTPを開放する:
    firewall-cmd --permanent --add-service=http
    

    ファイアウォールの再起動:
    systemctl reload firewalld
    

    実際の使用では、systemctl status firewalldコマンドを使用してファイアウォールのステータスを表示できます.

    1.4 postfixのインストール


    GitLabはpostfixを使用してメールを送信する必要があります.もちろん、SMTPサーバも利用できますが、具体的な手順は公式チュートリアルを参照してください.
    インストール:
    yum install -y postfix
    
    /etc/postfix/main.cfファイルを開き、119行目付近でinet_protocols = allを見つけ、allをipv 4に変更し、Ctrl+Sで保存します.
    inet_protocols = ipv4
    

    postfixの有効化と起動:
    systemctl enable postfix 
    systemctl start postfix
    

    1.5 swap交換パーティションの構成


    GitLabはリソースを消費するため、物理メモリの圧力を低減するために、交換パーティションを作成する必要があります.実際の本番環境では、サーバの構成が十分に高い場合は、交換パーティションを構成する必要はありません.
    新しい2 GBサイズの交換パーティション:
    dd if=/dev/zero of=/root/swapfile bs=1M count=2048
    

    パーティションファイルをスワップするようにフォーマットして有効にします.
    mkswap /root/swapfile
    swapon /root/swapfile
    

    自己有効化を追加します./etc/fstabファイルを開き、ファイルの最後に新しい行を追加し、Ctrl+Sで保存します.
    /root/swapfile swap swap defaults 0 0
    

    2、GitLabを取り付ける


    2.1ソフトウェアソースを国内ソースに変更する


    ネットワーク環境のため、repoソースを[清華大学]に変更した./etc/yum.repos.dディレクトリの下にgitlab-ce.repoファイルを新規作成して保存します.内容は次のとおりです.
    サンプルコード:/etc/yum.repos.d/gitlab-ce.repo
    [gitlab-ce]
    name=Gitlab CE Repository
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
    gpgcheck=0
    enabled=1
    
    https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
    

    2.2 GitLabの取り付け


    さっきyumソースを変更したので、キャッシュを再生成します:(このステップは実行時間が長く、一般的に3~5分程度かかりますので、辛抱強く待ってください)
    yum makecache
    

    インストールGitLab:(このステップは実行時間が長く、一般的に3~5分程度かかりますので、辛抱強くお待ちください)
    yum install -y gitlab-ce
    

    3、GitLabを初期化する


    3.1 GitLabのドメイン名の構成(必須でない)

    /etc/gitlab/gitlab.rbファイルを開き、13行目付近にexternal_url 'http://gitlab.example.com'を見つけ、単一引用符の内容を自分のドメイン名(プロトコルヘッダ付き、末尾にスラッシュなし)に変更し、Ctrl+Sで保存します.
    例:
    external_url 'http://work.myteam.com'
    

    ドメイン名をAレコードで解析してくださいね.

    3.2 GitLabの初期化


    特に重要です!
    GitLabを初期化するには、次のコマンドを使用します:(このステップは実行時間が長く、一般的に5~10分程度かかりますので、辛抱強く待ってください)
    sudo gitlab-ctl reconfigure
    

    4、GitLabのインストールが完了しました


    使い始めましょう!これでCentOS 7にGitLabを構築することに成功した.GitLabにアクセスできるようになりました.
    実際の生産では、2コア4 GB以上の機器を使用することをお勧めします.GitLabの公式推奨構成と積載可能人数対応表を表示するには、ここをクリックします.各パッケージの最新の状態を維持するために、yum update -yを定期的に実行していることを改めて確認します.

    5、デフォルトポートの変更


    gitlabサービスを先に終了:gitlab-ctl stop修正/etc/gitlab/gitlab.rb
    vi /etc/gitlab/gitlab.rb
     
    #unicorn['port'] = 8080   8070   #
    unicorn['port'] = 8070
    #nginx['listen_port'] = nil   8090   #
    nginx['listen_port'] = 8090
    

    修正/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
    vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
     
    #listen "127.0.0.1:8080", :tcp_nopush => true
    listen "127.0.0.1:8070", :tcp_nopush => true
    

    デフォルトのgitlab nginxを変更するウェブサービス80エンド/var/opt/gitlab/nginx/conf/gitlab-http.conf
    vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
     
    #listen *:80;
    listen *:8090;
    

    gitlabの再構成
    gitlab-ctl reconfigure
    

    gitlabの再起動
    gitlab-ctl restart
    

    参考記事:https://cloud.tencent.com/developer/labs/lab/10288 https://blog.csdn.net/weixin_42190794/article/details/86714038