CentOS8はGitLab13レコードをインストールして構成します

概要概要

GitLabは、RubyをベースにしたオープンソースのGitプロジェクト管理アプリケーションであり、Githubと同様の機能を提供します。GitLabはCEコミュニティバージョンを提供します。これは、ユーザーが自分のイントラネットサーバーにデプロイでき、チーム内のプロジェクトコードホスティングウェアハウスに使用できます。

この記事では、イントラネットGitLabサーバーを構築するプロセスと発生した問題について説明します。

インストール

最初にrpmソースインストールパッケージをダウンロードします。そのほとんどはインターネット上のel7またはel6です。
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.0.0-ce.0.el7.x86_64.rpm

この記事はCentOS8システムに基づいていることに注意してください。上記のURLを編集してel8パスに切り替え、ダウンロードするバージョンをランダムに選択してください。この記事では最新バージョンを選択していません。
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/gitlab-ce-13.0.0-ce.0.el8.x86_64.rpm

インストール:
rpm -i

構成ファイルを編集します。
vim /etc/gitlab/gitlab.rb

モードを表示し、Enter/external_urlキーを押して検索し、nを押して下向きを検索し続け(Nは上向きを検索)、検索external_url 'http://gitlab.com'して次のように変更します。external_url 'http://192.168.20.111:8090'

構成ファイルを変更するたびに、以下を実行する必要があることに注意してください。

gitlab-ctl reconfigure
gitlab-ctl restart

上記で設定したexternal_urlをブラウザのアドレスバーに入力します。開くことができない場合は、ファイアウォールをオフにし
systemctl stop firewalld
ます。デフォルトのユーザー名はroot、パスワードは5iveL!feで、システムがパスワードの変更をガイドします。

この時点で、インストールは成功しています。

オペレーティング

新しい集団

ルートユーザーはグループを追加できます:グループ
ここに画像の説明を挿入
の可視性レベルを設定します:
ここに画像の説明を挿入
3つのレベルが導入されました:

  1. プライベート、プライベート。
  2. 内部
  3. 公衆、

新規プロジェクトプロジェクト

ここに画像の説明を挿入
新しいプロジェクトを作成する前に、最初にグループを作成することをお勧めします
ここに画像の説明を挿入
そうしないと、rootユーザーがデフォルトで作成されます
ここに画像の説明を挿入
git cloneアドレス:または:http://192.111.11.111:8090/root/test.git

新しい利用者

rootユーザーからログアウトし、johnnyなどのユーザーを登録し、パスワードjohnny233を設定すると、メールボックスに自由に入力でき、システムに正常にログインできます。

ユーザーを招待する

Ctrl + Shift + Nショートカットキーを押してChromeのシークレットモードを開き、新しいページを開き、rootユーザーとしてログインし、追加したグループを入力すると、ユーザーを招待してユーザーの役割と権限を設定できます。

グループディメンションでユーザーを招待:
ここに画像の説明を挿入
エンジニアリングプロジェクトディメンションでユーザー招待
ここに画像の説明を挿入
4つのロール権限があります。
ここに画像の説明を挿入

  1. ゲスト、
  2. レポーター
  3. 開発者
  4. メンテナ、

Gitクローン/プッシュ

コマンドラインを開いてSSHキーを生成し
、ED25519SSHkey追加します。ssh
-keygen-ted25519-C ""

SSHキーの追加:
ssh-keygen -t rsa -b 2048 -C "user@email"
生成されたpubファイルのコンテンツをSSHキーに構成して、コードをプッシュします。

次に、プロジェクトをgit cloneするときに、httpプロトコルを使用し、登録済みのユーザー名/パスワードを入力します。

ローカルプロジェクトを初期化し、リモートサーバーにプッシュします

ローカルプロジェクトフォルダを入力し、右クリックGit Bash Hereし、それを初期化するgit initのGitリポジトリとして。まず、追加.gitignoreファイルは、すべてのファイルを追加しgit add .、状態を確認しgit status .、提出しgit commit -m "init"
リモートサーバー上に新しいプロジェクトを作成し、そのアドレスを取得するためにGitのクローンをクリックしてください。
リモートウェアハウスアドレスの設定:
git remote add origin http://192.111.11.111:8090/root/local-test.git
ステータスの表示:
git remote -v
リモートウェアハウスとローカル同期のマージの取得:
git pull --rebase origin master
U / Pを入力
git push -u origin master

.gitignore無効

上記の際に慎重な開発者は、git status .ステップが実行され、コンフィギュレーションファイルは、プロジェクトのルートディレクトリに追加されていることを見ることができる.gitignore、そしてそこにあるtarget/設定項目は、しかし、出力は:
new file target\classes\add.sql
それがあることを示し.gitignore、効果的ではないが、このtarget設定項目があります明らかに問題ありません。
理由:
.gitignore追跡されていないファイルのみを無視できるため、追跡されているファイルは無視できません。
解決策は、ローカルキャッシュを削除し(追跡されていない状態に変更)、送信することです。
git rm -r --cached .
出力:

error: the following file has staged content different from both the
file and the HEAD:
    .gitignore
(use -f to force removal)


git rm -r -f --cached .
実行:次に、ファイルgit add .再度追加して実行しgit status .ます。出力は正常です。つまり、ターゲットディレクトリの下のクラスファイルは一時ストレージ領域に追加されません。
注意の間に差があること.gitignore、構成ファイルがtarget/*/target/

問題

johnnyユーザーgit pushがエラーを報告しました:

remote: GitLab: You are not allowed to push code to protected branches on this project.
To http://192.111.11.111:8090/root/test.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://192.111.11.111:8090/root/test.git'

ユーザーjohnnyの変更権限は開発者であるため、デフォルトではマスターブランチのプッシュ権限はありません。メンテナにアップグレードすると、リモートマスターブランチにプッシュできます。

おすすめ

転載: blog.csdn.net/lonelymanontheway/article/details/113643831