まず、設定Gitのサーバー
githubのは、すべての後、公共、民間倉庫はお金を費やす必要があります。だから我々は、民間、唯一あなたの会社が使用を構築するための方法を考えることができます。Gitlabは良い選択です。コマンドラインのgitサーバーについて何かを言うためにそれを導入する前に
サーバーを探して、あなたが最初にgitをインストールする必要があり、ここでは、新しいマシンにインストールgitのをオープンしました。
#yumを-yにgitをインストール
Gitはユーザーを追加、およびには/ usr / binに/のgit - シェルシェルを設定し、目的は、ユーザーがリモートのgitでログインできるようにすることです
#useraddの-sは/ usr / binに/のgit -シェルのgit ます。#cd /ホーム/ gitの
まず、クライアント上の公開鍵はgitのサーバー/home/git/.ssh/authorized_keysファイルに置く必要があります。
authorized_keysにファイルを作成し、所有者を変更する、基であり、公開鍵の権限は、クライアントマシンに保存されています。
MKDIRの.ssh# #タッチの.ssh / authorized_keysに #chownコマンド-R&LT Gitリポジトリ:Gitのの.ssh #の.ssh chmodの600 / authorized_keysに 最初のマシン上の[MRXルート@〜]#猫の.ssh / id_rsa.pub //公衆コピーキー ファイル[ルート@ WBSのgit]#viのの.ssh / authorized_keysに// 作成したばかりの新しいマシン上で(サーバー)に貼り付ける #sshの[MRX〜@ルート] [email protected] それにログインするには、クライアントの試みを、このプロンプトは、検証が成功したことを示す、全く問題がないことを表す参照してください。 。 '192.168.197.133(192.168.197.133)'確立することができないのホストの信頼 ザ・ECDSA鍵のフィンガープリントは、SHA256は次のとおりです。PZXNkWqC / 6h4hUQYkfOM9AMj82OTskLMIB4qLkgeajU。 ECDSAはMD5フィンガープリントの鍵である:99 :. 19:04:C5 :. 11:8D:94: AD :. 9:86:40:B9:AD:B9:D4:8F。 あなたは確かにあなたが(はい/いいえ)はい接続を続行したい? 警告:永続的に既知のリストに'192.168.197.133'(ECDSA)を添加しホスト。 致命的な:gitのシェルが対話を有効になっていません。 ヒント:〜/ gitのシェル・コマンドが存在し、アクセスを読み取りと実行が必要です。 192.168.197.133への接続が閉じました。
サーバー上のディレクトリに格納されているgitリポジトリ定義など/データ/ gitroot
#ます。mkdir /データ/ gitroot ます。#cd /データ/ gitroot #gitの初期化--bare sample.git
//は、サーバー上のGitのリポジトリが共有に単純であるため、裸の倉庫、裸の倉庫面積は、仕事しませんでした作成し、そのユーザーが作業領域を変更するには、サーバーに直接ログインしましょう、とサーバーのGitリポジトリが通常.gitで終了します。
#chownコマンド-R git.git sample.git
上記の操作は、サーバーのgitの上で行われ、gitのサーバーは、通常、それは通常の操作は、PCを行うには、私たち自身であるとして、githubのように、サーバーの役割として機能するだけで、ログインするためにコードを変更するために、開発者を必要としません。 。
リモートリポジトリをクローンクライアント(自分のPC)で
@ IP gitのクローンgitの:/data/gitroot/sample.git #gitのクローン[email protected]:/data/gitroot/sample.git ビーイング「サンプル」にクローニングされた... 警告:あなたは空のリポジトリのクローンを作成するように見えます。
この時点で、あなたは現在のディレクトリのサンプルディレクトリを生成することができ、これは我々がリモートリポジトリをクローン化したものです。そこには、リモートにプッシュ、その後、いくつかのコードを開発することができます。
Cp /etc/init.d/mysqld番号。 [ルートMRX @サンプル]#LS のmysqld [ルートMRX @サンプル]#gitの追加]。 [ルートMRX @サンプル]#gitの-mをコミット"新しい新しいファイルの追加" [マスター(ルート提出)1d1a5a0]新しい新しいファイルの追加 、変更1ファイルを378の挿入(+) MODEを作成します100 755のmysqld MRX @ [ルートサンプル]#gitのプッシュは、//それがリモート分岐のない裸の倉庫、ダイレクトプッシュであるため、これを知りませんブランチは、あなたがブランチを指定する必要があります。 警告:push.defaultが設定されていない、それはGitの2.0で「マッチング」の値をデフォルトになります 修正「シンプル」。この情報を表示し、もはやそのデフォルト値の変更現在の習慣後も維持するには、 次の設定 gitの設定--global push.default一致 もはやこの情報を表示し、今から新しい習慣を採用し始めに、セットを: gitの設定--global push.defaultシンプル 見る「はgitのヘルプの設定」とより多くの情報については、「push.default」の外観。 1.7 Gitリポジトリによって(「シンプル」モード。11バージョンが導入されました。あなたは、時にはGitリポジトリの古いバージョンを使用したい場合は、 互換性を維持するためには、「現行」の代わりに「シンプル」モード)を使用してください #CD / tmpに 。NOの共通でレフリーとどれも指定され、何もしない おそらくあなたは、支店のようなA「マスター」を指定する必要があります。 致命的な:ハングアップ予想外にリモートエンドで エラー:[email protected]」への参照の一部をプッシュすることができませんでし:/データ/ gitroot / sample.git「 #のGitのプッシュマスター//原産地指定masterブランチ、第2のプッシュは再びときは、直接gitのプッシュアップをすることができます。 。カウントが行わ、:. 3オブジェクト 。2スレッド圧縮まで使用デルタ 、(2/2])100%DONE:圧縮するオブジェクト。 ライティングは、オブジェクト100%(3/3)、3.84 KiBの| 0バイト/ Sは、DONE。 ザ合計。3(デルタ0)、リユース0(0デルタ) への[email protected]:/data/gitroot/sample.git * [新新支店]マスター- >マスター #Gitのクローン[email protected]:/データ/ gitroot / sample.git #のLSサンプル/ 1.TXTのmysqld サンプルます。#cd / [MRX tmpの@ルート] [MRX @ルートサンプル]#vimのファイル1.TXT //コンテンツ変更 #が追加に1.TXT gitの 「CH 1.TXT」-mをコミット#gitのを #はプッシュgitの #のCD /ルートを他のユーザにも接続されている場合/サンプル//、あなたはプルダウンするgitのプルを変更することができます 。#gitのプルを/ /コンテンツだけプルダウンを変更するには
これはgitのサーバーを構築するための非常に簡単な方法です。
第二に、インストールgitlab
自作のサーバーに加えて、あなたはまた、このようなcoding.net、都市コードとして、オンラインのコードホスティングプラットフォームを使用することができ、コードの雲は比較的良好な国内のコード管理プラットフォーム、より多くの心配、ノーメンテナンスです。
この方法に加えて、それは使用gitlabのための選択のコード管理プラットフォームのWebブラウザインターフェイスの管理制御を自己構築することができます。
gitlab公式サイトhttps://about.gitlab.com/gitlab-com/
公式インストールマニュアルhttps://about.gitlab.com/installation/?version=ce#centos-7(CE / EE)
比較的低速のダウンロード公式のミラーに劣らず2グラムよりもサーバーのメモリ要件は、国の鏡像がここで使用され、この画像は、サーバ清華大学です。
#Vimの/etc/yum.repos.d/gitlab.repo //以下の追加 [gitlab-CE] の名前を=リポジトリにCEをgitlab BASEURL = HTTPS://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum / EL $ releasever / gpgcheck = 0 有効= 1 #yumを-y gitlab-CEインストール //このコマンド#gitlab-CTL再設定は、サービスが起動するすべてのgitlabを伴います。 ... シェフクライアントが完成し、1419分の524のリソースが14分08秒に更新 gitlab・再構成!
この時点で、それは比較的簡単にインストールすることですが、インストールのgitlabは、終了しますが、物事がうまくいかない場合は、そのようにこのgitlabサーバが他のアプリケーションを実行するために推奨されていないことを、ただ、難易ある程度があるときにメンテナンスを変更行いますgitのサーバーは、ライン上で実行されています。通常gitlabは、データをバックアップする公式が提供するツールを持って、データのバックアップを作成します。
gitlabをインストールする前に、最初nginxのを止めます。
#Netstatの-lntp //ポートビューを聞いて、これらの2行はgitlab生成されています。 0 127.0.0.1:8080 0.0.0.0:* 0 LISTEN TCP 1621 /ユニコーンマスター TCP 1439 0 0 127.0.0.1:9168 0.0.0.0:* LISTEN / PUMA 3.12.0(T
#Gitlab-CTL停止/再起動/起動/ステータス//ステータスの状態を確認
#gitlab-CTLのステータス の実行:のAlertManager:(PID 2563)は10476s。実行:ログ:(1448 PID)10585s 実行:gitaly:(1407 PID)10586s。実行:ログ:(PID 1406)10586s 実行:gitlab-輸出:(1439 PID)10585s。実行:ログ:(1438 PID)10585s 実行:gitlab-働き者:(1426 PIDは)10585s。実行:ログ:(PID 1425)10585s 実行:grafana:(1446をPID)10585s。実行:ログ:(PID 1445)10585s 実行:logrotateの:(PID 18743)3379s; 実行:ログ:(PID 1434)10585s 実行:nginxの:(PID 25804)1S; ラン:ログ:(PID 1423)10585s ラン:ノード輸出:(1433 PID)10585s。実行:ログ:(1432 PID)10585s 実行:postgresの-輸出:(1452 PID)10585s。実行:ログ:(PID 1451)10585s 実行:postgresqlの:(1409 PID)10586s。実行:ログを:(PID 1408)10586s // PostgreSQLの、数据库 実行:プロメテウス:(1450 PID)10585s。実行:ログ:(PID 1447)10585s ラン:Redisの:(PID 1405)10586s。実行:ログを:(1404 PID)10586s 実行:Redisの-輸出を:(1442 PID)10585s。実行:ログ:(PID 1441)10585s 実行:sidekiq:(1415 PID)10586s。実行:ログを:(1414 PID)10586s 実行:ユニコーン:(1413 PID)10586s。実行:ログ:(PID 1412)10586s
以前のブラウザアクセスgitlab、訪問、へのIPアクセスを入力して、ルールがあれば、プラス80ポートがiptablesのかどうかを確認するために最初に。
デフォルトの管理者ルート、パスワードなし、それがパスワードを定義することが可能となります。
セットした後にログインすることができます。
第三に、使用gitlab
あなたが訪問したい場合も、まず、このようなnginxの、の/ var / opt / gitlab / nginxの/ confに/でnginxの設定ファイルの場所として、このサーバー上で提供されるWebサービス、ある人を見つけるために、ドメイン名、ドメイン名を使用してアクセスすることができメインの設定ファイルであるnginx.conf、そこ; gitlab-のhttp.confを使用すると、ドメイン名をバインドする、またはリスニングポートを変更したい場合は、設定ファイルを編集することができ、対応するgitlab関連の設定ファイルです。
Vimの/var/opt/gitlab/nginx/conf/gitlab-http.conf# サーバー{ *聞く:80; //リスニングポートを定義する サーバー名gitlab.example.com; //ドメイン名を予定して
サーバはちょうどのみgitlab、他のサービスを実行していない場合は、移動する必要はありません。
先用浏览器进入gitlab,先创建一个组,自定义组名,并设置权限为私有的Private。
再创建一个项目,可以选择刚才创建的组,并设置项目名。
创建完成后,最上面显示了一条“You won't be able to pull or push project code via SSH until you add an SSH key to your profile”,说没有创建任何的ssh key。
创建ssh key:在头像出点settings,左边可以看到ssh keys,将公钥(/root/.ssh/id_rsa.pub)放进去就可以创建了。
创建用户:点击上方的小扳手(Admin Area),new user,用户名zhangsan,email:[email protected],密码设置提示会将设置密码的链接发送给用户邮箱,创建。创建完成后,点击右上方的Edit可以编辑设置password,设置完保存。然后登陆zhangsan,第一次登录时,会让你设置新密码。
四、gitlab备份和恢复
gitlab备份
# gitlab-rake gitlab:backup:create
备份目录在/var/opt/gitlab/backups
Creating backup archive: 1569829062_2019_09_30_12.3.1_gitlab_backup.tar ... done
备份完后可以从这一句看到文件名字,时间戳+日期+版本号。
gitlab 恢复 先停服务 恢复数据时,数据的版本需要和当前gitlab的版本一致。
# gitlab-ctl stop unicorn ; gitlab-ctl stop sidekiq
ルビーユニコーンウェブサーバに関連付けられている、sidekiqもルビーに基づいてメッセージキュー、です。これら2つのサービスが目指して停止して行うことですし、それを変更することはありません。
#Gitlab-レーキgitlab:バックアップ:復元BACKUP = 1569829062_2019_09_30_12.3.1(これは数、すなわち、バックアップファイルのプレフィックス)
そして、サービスgitlab-CTLのスターを開始