新興の問題:
提示: gitlab-CTLコマンドが見つかりません。
インストールのgitlab-CE(そしておそらく、インストールが失敗しました)、
だから、何のgitlab-CTLのコマンドはありません
この場合、再インストールyumをgitlab-CEをインストール
警告を促すメッセージが表示されます、どのようなNOKEYの束、
そして、ダウンロードしたrpmパッケージの場所が配置されている要求されます
このとき、手動マウントrpmの通常の命令は、パッケージには、600以上のMには数分を持っています
sudo rpm -i gitlab-7.9.1_omnibus.1-1.el7.x86_64.rpm
オリジナル: あなたのGitLabのShoubashoujiaoのインストールと使用
序文
新入社員の会社、企業はまだ遠くのgitのを使用する途中で、これら2つのツールの違いを知って、あまりにも重い使用のsvnとgitのを、時代遅れの生産ツールのsvnを使用していることがわかりました。
だから、私は強く「準備は労働者を速めることがあり、」アムウェイの哲学を繰り返し、会社とのより高いレベルをお勧めしますし、彼のプライベートのgitリポジトリgitlabを追求、私は最終的に確信していました。
以下は、私が理解し、インストールビュー後の学習チームのコストを削減することができるようになります同僚に直接共有するために、記録された詳細な側面取り付け、サイドノートです。
gitのの利点
- gitのは、配布されるのsvnない
偏在のgitを使用することができ、あなたは簡単に歴史の痕跡のすべての種類を保存することができ、Romのサーバがログを表示するためのコードを提出することができ、汚染サーバを心配しないでください。 - GIT SVNのブランチと異なるの枝
SVNリポジトリ内のブランチは、実際のコピーですが、gitリポジトリは、スナップショットなので、gitのスイッチ、より迅速に枝や他の操作をマージします。 - Gitは強力なコードの倉庫管理システムを持っている- gitlabは
簡単にプロジェクトを管理、作成、権限、コードレビューを管理することができます
GitLabはじめに
GitLab:ソフトウェアベースのオンラインコードリポジトリをGitが達成ホストされている、あなたはgitlabを使用することができ、自分自身に、一般企業、学校などの内部ネットワークの構築gitのPWで使用される同様のGithub同じシステムを、構築されました。
機能:Gitlabコードホスティングを提供することで、管理プラットフォームは、コードレビューと課題追跡をコミットします。ソフトウェアエンジニアリング管理の質のために非常に重要。
バージョン:コミュニティ版(CE)およびEnterprise Edition(EE)にGitLab。
構成:これは、CPU2コア、メモリ、2G以上を推奨します。
Gitlabサービスコンポーネント:
Nginxは:静的なWebサーバ。
gitlabシェル:Gitは処理と認証キーのリストを変更するためのコマンド。(ルビー)
gitlab-主力:軽量リバースプロキシサーバ。(ゴー)
GitLab主力は、迅速なリバースプロキシです。これは、ファイルのアップロード、ファイルのダウンロード、Gitのプッシュ/プルとGitのパッケージダウンロードなどの大型HTTPリクエストの数を扱います。ユニコーンするリバースプロキシGitLab Railsアプリケーション、即ち、リバースプロキシの後端に他の要求。
logrotateの:ファイル管理ツールのログを記録。
PostgreSQLの:データベース。
Redisの:キャッシュデータベース。
sidekiq:バックグラウンドで実行タスクのキュー(非同期実行)。(ルビー)
ユニコーン:ラックアプリケーション用のHTTP Serverは、アプリケーションは上記のこのサーバー上でホストされているgitlabレール。(Rubyのウェブサーバー、主にRubyで書かれました)
GitLabのインストール
1.ソースのインストール
2.yumインストール
公式の送信元アドレス:https://about.gitlab.com/downloads/#centos6
ミラー元清華大学:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
新/etc/yum.repos.d/gitlab_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
インストールが依存します
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
#这句是用来做防火墙的,避免用户通过ssh方式和http来访问。
sudo lokkit -s http -s ssh
そして、実行
sudo yum makecache
sudo yum install gitlab-ce
sudo gitlab-ctl reconfigure #Configure and start GitLab
ドメイン名の設定:VIM /var/opt/gitlab/nginx/conf/gitlab-http.conf
# 外网访问的端口,如果服务器已经有服务器占用了80,那么这里可以改成其它
listen *:8888;
server_name gitlab.test.domain.com;
set $http_host_with_default "gitlab.test.domain.com:8888";
追加情報:/etc/gitlab/gitlab.rbコンパイルgitlabを設定することは十分にgitlab構成する限り、カスタムnginxの設定を再生成する時期ので、nginxの上に実際にカスタマイズする必要はありません。
パスワードの変更
gitlab-rails console production
user = User.where(id:1).first
user.password='123456'
user.save!
GitLabのバックアップとリカバリ
バックアップ
# 可以将此命令写入crontab,以实现定时备份
/usr/bin/gitlab-rake gitlab:backup:create
バックアップデータは、の/ var / opt / gitlab /バックアップ、ユーザーのカスタムパラメータgitlab_rails [「BACKUP_PATH」]に格納され、デフォルト値を変更します。
回復
# 停止unicorn和sidekiq,保证数据库没有新的连接,不会有写数据情况
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# 进入备份目录进行恢复,1476900742为备份文件的时间戳
cd /var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1476900742
cd -
# 启动unicorn和sidekiq
sudo gitlab-ctl start unicorn
sudo gitlab-ctl start sidekiq
構成ファイルを変更GitLab
vim /etc/gitlab/gitlab.rb
基本構成をgitlab:
#外部访问url(经过编译后,自动将这个配置编译到nginx配置,nginx就无需配置了)
external_url 'http://gitlab.test.domain.com:8888'
#默认值就是8080。如果端口被占用,可将8080修改为其它(例如:9090)
unicorn['port'] = 8080
gitlabメール設定を送信
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = “smtp.exmail.qq.com”
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = “[email protected]“
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_authentication']= “plain"
gitlab_rails['smtp_enable_starttls_auto']= true
gitlab_rails['gitlab_email_from']= '[email protected]'
gitlab_rails['gitlab_email_reply_to']= ‘[email protected]'
SSHサーバピット修正ポート(設定sshのポートを変更する必要があります)
#修改过ssh端口,gitlab中项目的的ssh地址,会在前面加上协议头和端口号“ssh://git@gitlab.domain.com:55725/huangdc/test.git”
gitlab_rails['gitlab_shell_ssh_port'] = 55725
設定が有効になります
#使配置生效
gitlab-ctl reconfigure
#重新启动GitLab
gitlab-ctl restart
GitLabは、一般的にコマンドを使用しました
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
vim /etc/gitlab/gitlab.rb # 修改gitlab配置文件;
gitlab-ctl reconfigure # 重新编译gitlab的配置;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
gitlab-ctl tail # 查看日志;
gitlab-ctl tail nginx/gitlab_access.log
注意:nginxのコンポーネントの再構成gitlabを復元しますコンフィギュレーションコマンドを実行し、ポートのカスタム変更やドメイン名につながるが、すべてなくなっています。
共通カタログ
日志地址:/var/log/gitlab/ # 对应各服务的打印日志
服务地址:/var/opt/gitlab/ # 对应各服务的主目录
ビューgitlabバージョン
猫は/ opt / gitlab /組込み/サービス/ gitlabレール/ VERSION
新プロジェクト
gitlabにログインするためにrootユーザーを使用した後は、そのような「kuaijiFirstProject」という名前のプロジェクトとして、プロジェクトを作成するには、「新規プロジェクト」をクリックします。
その後、ハードディスクがファイルのgitを生成していることがわかります。
/var/opt/gitlab/git-data/repositories/root/kuaijiFirstProject.git
中国のローカライズ
https://gitlab.com/xhang/gitlab.git
gitlab使用
ssh -T -p 55725 git@gitlab.domain.com
注:<forntスタイル=「色:赤」>このテストオーバーsshコマンドが渡されるが、必ずしもあなたがコードをクローンgitのことを意味しません、コードはsudoのgitのクローンgitのそれを使用する一般ユーザであれば、コマンドgitのクローンアカウントは、書き込みアクセス権を持って実行する必要があります秘密鍵のrootアカウントが使用されます。</ Fornt>
1.ログイン
ユーザーの管理者は、アカウントと権限を設定を開きます。
2.ユーザーは、SSHキークライアントを生成しました
参考記事:http://www.jianshu.com/p/142b3dc8ae15
ssh-keygen -t rsa -C "huangdc@domain.com"
3.「SSH鍵」内のユーザー設定をgitlabするために、公開鍵の内容をコピー
Windowsの場合:クリップ<の〜/ .ssh / id_rsa.pub
マック:pbcopy <の〜/ .ssh / id_rsa.pub
GNU / Linuxの(XCLIPが必要です):XCLIP -selクリップ<の〜/ .ssh / id_rsa.pub
4.テストSSH接続
#标准测试代码:ssh -T git@gitlab.com
ssh -T -p 55725 [email protected] #修改过端口号的测试代码
接続に成功すると、次のメッセージが表示されます。
Welcome to GitLab, huangdc!
説明:実際には、このsshコマンドの実装、gitのを使用してリモートサーバーのユーザーは、ユーザーが生成され、インストールgitlabの時点で、すべての利用gitlabサーバのsshクライアントは、gitのにこのユーザーを使用しています。ここでは、ユーザ「huangdcは」gitlabによって作成された、gitlabのための著作権管理は、ユーザーのSSHと混同しない開発者によって提出された識別コード情報に使用されます。
どのように複数のSSH公開鍵を使用するには(複数のコードリポジトリを使用して自分のコンピュータ)
実際には、原則は次のとおりです。各倉庫はssh接続を必要とするため、sshコマンドのデフォルトは、ディレクトリの接続コードリポジトリを.SSHする秘密鍵を使用することですので、我々は内部の.ssh / configディレクトリにドメインの異なる倉庫のためにそれを再定義することができます秘密鍵。
例としては、次のとおりです:
vimの/Users/david/.ssh/config:ファイルを編集します
Host gitlab.domain.com
IdentityFile /Users/david/.ssh/id_rsa
コマンドラインプロジェクトの初期化環境
- まず、以下のアドレスに倉庫を取得するために、上記のgitlabコードで空の倉庫を作成します。
ssh://[email protected]:55725/huangdc/test.git
- ローカルの初期化・ウェアハウスでは、コードを提出、リモートのmasterブランチにプッシュ。
git clone ssh://[email protected]:55725/huangdc/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
古いプロジェクトの移行コマンドライン環境
- まず、以下のアドレスに倉庫を取得するために、上記のgitlabコードで空の倉庫を作成します。
#注意:已存在代码的旧项目只能推送到空的远程代码仓库
ssh://[email protected]:55725/dev/memberApi.git
- リモートリポジトリに関連付けられているプロジェクトを、初期化するローカル、リモートリポジトリにプッシュ
cd /Users/david/work_www/memberApi
git init
git remote add origin ssh://[email protected]:55725/dev/memberApi.git
git push -u origin master
SourceTreeのインストールとオープン
- ネット公式ダウンロードリンク:https://www.sourcetreeapp.com/
- SourceTreeを開いた後、あなたはSourceTreeを有効にするにはアトラシアンのアカウントをログインする必要があります。あなたは直接関係のGoogleアカウントのログインを使用することができます。
- 伐採後もラインをスキップするための最も簡単な方法で、いくつかの設定が必要です。
Gitの流れ
http://flc.ren/2015/12/381.html
リマーク
この記事では、インストールして使用GitLabを記録し、後半に再び戦略の記事を説明するための分岐モデルを共有する方法に焦点を当てています。