継続的Gitlabのインストールとアプリケーションの統合

はじめに:

Gitlabは、オープンソースのアプリケーション上のルビーを使用するには、Webインターフェイスを介して、ソースコード管理の不備を閲覧することができ、GitHubのと同様の機能を持っているセルフホストGitプロジェクトリポジトリ、アクセスパブリックまたはプライベートプロジェクトGitlabを達成するために、開発をレールで、コメント。管理チームは、彼がファイルの提出版を閲覧することは非常に簡単でしたし、歴史的なリポジトリを提供し、倉庫にアクセスすることができます。彼はまた、スニペットの収集機能を簡単に検索する必要がある未来を容易にするため、コードの再利用を実現することができます提供します

ボーエン概要:
まず、環境を準備する
第二には、インストールおよびデプロイgitlab
第三に、ライブラリーの先端部の基本動作
4または管理者パスワードをリセットgitlab

まず、環境を準備

テスト環境ならば、それはメモリの2Gをお勧めしますし、上記の、あなたがに行くことができる清華オープンミラーサイトのインストール後に、必要なgitlabのバージョンをダウンロードして、それはそう占有80ポートを避けるために、nginxのWebインターフェイスをインストールするには、自動的に提供されます。

第二に、インストールおよびデプロイgitlab

1、インストールgitlab

[root@git src]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm
[root@git ~]# rpm -ivh gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm   #安装rpm包
[root@git ~]# gitlab-ctl reconfigure    #重新配置gitlab
#由于我不打算做域名解析,所以需要修改其配置文件
[root@git ~]# vim /etc/gitlab/gitlab.rb 
external_url 'http://192.168.20.2'     #将原本的域名改为本机IP
[root@git ~]# gitlab-ctl reconfigure    #再次重新配置gitlab
[root@git ~]# netstat -anpt | grep -w 80      #确定nginx在监听80端口
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3872/nginx: master  

図2に示すように、構成gitlab

クライアントアクセスサーバーのIPアドレスは、次のインターフェイス(設定パスワードをしてログインします。)見ることができます:

継続的Gitlabのインストールとアプリケーションの統合

継続的Gitlabのインストールとアプリケーションの統合

アップロードサーバの公開鍵(およびgithubの上、その後の同様の操作)は、サーバ上の鍵ペアを生成します。

[root@git ~]# ssh-keygen -t rsa -C "[email protected]"
#执行上述命令生成秘钥对,一路回车即可,后面是自己的邮箱
[root@git ~]# cat ~/.ssh/id_rsa.pub     #查看生成的公钥并复制其内容
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCVUbmw+PC2plXMviNBA6YKgWx+1419uMPJhJNGeZ8Mi7njBlAyhfzWQsCFamQqU4nwSMWua3oEJZEiT6ZRgLQQyYwZ+DESQCyhAJYdtOgwtRh3XaIgAASzlqZ0hIjhhwi+pD/GjktySiW/UvaiqkkBgfdXCuXlSH7R8T4PoRCpYZ92OwQmMV/blGd/SXLDCaqHlgz1K8As8HFoaFAkrmS+jSio616+w2o8ly2PBbVoZa129BD8SQ81KAs5drGTD2OsKHFx08rS5izSc2MKLjet7+00CXJebwZQLB1LS/TUXwrPAHLQO8ZN8AYCsoIv6coEYRhW93BoBZ8Swetys/KD [email protected]

そして、バックWebインタフェースへ:

継続的Gitlabのインストールとアプリケーションの統合

継続的Gitlabのインストールとアプリケーションの統合

あなたは次のことを追加した後:

継続的Gitlabのインストールとアプリケーションの統合

ライブラリーを作成します。

継続的Gitlabのインストールとアプリケーションの統合

継続的Gitlabのインストールとアプリケーションの統合

継続的Gitlabのインストールとアプリケーションの統合

継続的Gitlabのインストールとアプリケーションの統合

作成したばかりのクローニング、ライブラリサーバーに戻ります:

[root@git ~]# git clone [email protected]:root/test01.git   #克隆
[root@git ~]# cd test01/      #进入克隆的库
[root@git test01]# ls    #该目录下的东西和刚刚web页面创建好库后的内容一样
README.md
#自报家门
[root@git test01]# git config --global user.name "test"
[root@git test01]# git config --global user.email "[email protected]"
#向远端库上传文件进行测试
[root@git test01]# echo "aaaaaaaaa" > test.txt
[root@git test01]# git add test.txt
[root@git test01]# git commit -m "alter from 192.168.20.2"
[root@git test01]# git push origin master    #推送到远端库

Webインタフェースのライブラリページを更新:

継続的Gitlabのインストールとアプリケーションの統合

第三に、ライブラリーの先端部の基本的な操作

リモート倉庫からクローンを作成すると、実際には自動的にgitのブランチローカルのmasterブランチとリモート対応アップ、およびリモート倉庫のデフォルト名を習得することは、原点です。

リモートデータベースに関する情報を表示するには、次のコマンドを使用します。

[root@git test01]# git remote    #简略信息
origin
[root@git test01]# git remote -v    #详细信息
origin  [email protected]:root/test01.git (fetch)
origin  [email protected]:root/test01.git (push)

プッシュ支店:

[root@git test01]# git push origin master    #推送本地的master分支
[root@git test01]# git push origin dev    #推送本地的dev分支,若远端没有dev分支,会自动创建

グラブの枝:

[root@git test01]# git pull origin dev      #根据提示将远端的dev分支抓取下来

リモートライブラリークローンからの私達の時間は、デフォルトでは、唯一のmasterブランチを見ることができたら、gitの分岐命令の確認を使用することができます。

多くの人が問題を解決するために一緒に仕事が発生する可能性があります

開発のための同じブランチ上の私たちのチーム全体としては、あなたがあなたの同僚をコミットする前ならば、ブランチの内容を変更したと倉庫の先端に押されて、あなたが変更された同じファイルにすることが起こる、とプッシュしようとしたとき、最新のデータは、同僚が提出し、あなたがデータの競合(遠位古い倉庫よりあなたのローカルコンテンツ)を提出しようとするので、それが失敗したプッシュしますので、解決策は、復帰に失敗に情報をプッシュするように求められますうちは、ここではどのようなプロセスをシミュレートします。

#进入另一个目录,克隆远端仓库,模拟多人协作
[root@git test01]# cd /tmp
[root@git tmp]# git clone [email protected]:root/test01.git
[root@git test01]# git checkout -b dev     #创建一个分支dev并进入
[root@git test01]# echo "aaaaaaaaa" > tmp.txt
[root@git test01]# git add tmp.txt
[root@git test01]# git commit -m "commmit from /tmp"
[root@git test01]# git push origin dev        #将新修改的内容推送到远端

Webインタフェースの更新に戻るには、あなたが提出した新しいブランチを見ることができます:

継続的Gitlabのインストールとアプリケーションの統合

以上の動作は、リモートリポジトリの今作動/ルートディレクトリ/ tmpのディレクトリで動作しています。

#进入root目录下的远程仓库并创建dev分支,推送内容至远端仓库
[root@git test01]# cd /root/test01/
[root@git test01]# git checkout -b dev
[root@git test01]# echo "bbbbbbbbbb" > root.txt
[root@git test01]# git add root.txt
[root@git test01]# git commit -m "commit from /root"
[root@git test01]# git push origin dev        #此时我们推送,就会提示以下错误
To [email protected]:root/test01.git
 ! [rejected]        dev -> dev (fetch first)
error: 无法推送一些引用到 '[email protected]:root/test01.git'
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已推送了相同的引用。再次推送前,您可能需要先合并远程变更
提示:(如 'git pull')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。
#提示远程版本库有我们本地版本库没有的提交,所以需要先将远端版本库pull下来,再提交

[root@git test01]# git pull origin dev      #根据提示将远端的dev分支pull下来
[root@git test01]# ls      #我们在/tmp目录下提交的文件就存在了
README.md  root.txt  test.txt  tmp.txt
[root@git test01]# git push origin dev         #然后再次将本地的dev分支推送到gitlab,即可成功

次のようにこの時点では、ウェブインタフェースのdevの枝は、我々はと/ rootディレクトリ/ tmpディレクトリに提出しているすべてのコンテンツを持っています。

継続的Gitlabのインストールとアプリケーションの統合

しかし、次のようにマスター・ブランチは、まだ元のファイルです。

継続的Gitlabのインストールとアプリケーションの統合

今リポジトリからリモートブランチは、次の通り:


[root@git test01]# git checkout master   #切换至master分支
[root@git test01]# git merge dev     #合并dev分支
[root@git test01]# ls    #查看合并后的分支下内容
README.md  root.txt  test.txt  tmp.txt
#提交到本地版本库
[root@git test01]# git pull    #下载远端版本库
[root@git test01]# git add *
[root@git test01]# git commit -m "提交"
[master 3717c1c] 提交
[root@git test01]# git push origin master     #推送到远端版本库

今masterブランチリモートコンテンツリポジトリは、次のように:
継続的Gitlabのインストールとアプリケーションの統合

今、私たちは次のリモートリポジトリのdevの枝を削除する方法について説明します、すべてのコンテンツDEVの枝を持っています。

[root@git test01]# git branch -d dev   #删除本地的dev分支
[root@git test01]# git branch -r -d origin/dev     #删除指定的远程分支 
[root@git test01]# git push origin :dev         #将删除的分支提交到远程版本库中

次のようにこれまでのところ、DEV分岐遠位リポジトリは、削除されました:

継続的Gitlabのインストールとアプリケーションの統合

第四に、管理者パスワードのgitlabをリセットします

[root@git ~]# gitlab-rails console production     #执行该命令,只有第一个命令字可以tab出来
-------------------------------------------------------------------------------------
 GitLab:       11.9.8 (48528bc)
 GitLab Shell: 8.7.1
 postgresql:   9.6.11
-------------------------------------------------------------------------------------
Loading production environment (Rails 5.0.7.1)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):003:0> user.password='test1234'
=> "test1234"
irb(main):004:0> user.password_confirmation='test1234'
=> "test1234"
irb(main):005:0> user.save
Enqueued ActionMailer::DeliveryJob (Job ID: 17d6f678-3cae-4de2-be59-b19a6d22b9fa) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #<GlobalID:0x00007f895034e280 @uri=#<URI::GID gid://gitlab/User/1>>
=> true
irb(main):006:0> true
=> true
irb(main):007:0> exit

この時点で、あなたはtest1234ログインするために新しいパスワードを使用する必要があり、再度ログオンします。

おすすめ

転載: blog.51cto.com/14154700/2450496