docker下gitlab 安裝配置使用-[Mac]

說明

相關(guān)wiki

安裝及配置

1. gitlab 鏡像拉取

# gitlab-ce為穩(wěn)定版本慈格,后面不填寫版本則默認(rèn)pull最新latest版本
$ docker pull gitlab/gitlab-ce

拉取鏡像

2. 運(yùn)行 gitlab 鏡像

$ docker run -itd --name gitlab  -p 443:443 -p 8082:80 -p 222:22  --restart always -v /lnmp/gitlab/config:/etc/gitlab -v /lnmp/gitlab/logs:/var/log/gitlab -v /lnmp/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

# -d:后臺運(yùn)行
# -p:[外部:容器端口]將容器內(nèi)部端口向外映射,這里用8082是為了避免和nginx的沖突,我們再用nginx反向代理到8082端口
# --name:命名容器名稱
# -v:宿主機(jī)指定目錄映射成容器內(nèi)數(shù)據(jù)文件夾或者日志铐然、配置等文件夾


運(yùn)行成功后出現(xiàn)一串字符串表示

運(yùn)行成功

如果出現(xiàn)下面的錯誤時,你需要將/lnmp目錄加入到docker的共享目錄中
設(shè)置 Docker -> Preferences-> File Sharing.

image.png

3. gitlab配置

按上面的方式芽偏,gitlab 容器運(yùn)行沒問題虑润,但在 gitlab 上創(chuàng)建項(xiàng)目的時候芝此,生成項(xiàng)目的 URL 訪問地址是按容器的 hostname 來生成的睡雇,也就是容器的 id靠胜。作為 gitlab 服務(wù)器,我們需要一個固定的 URL 訪問地址,于是需要配置 gitlab.rb(宿主機(jī)路徑)醇疼。

修改 gitlab.rb 文件

$ vim /lnmp/gitlab/config/gitlab.rb
# gitlab服務(wù)的地址
external_url 'http://liuxd.gitlab.com'

# ssh配置
gitlab_rails['gitlab_ssh_host'] = 'liuxd.gitlab.com'
gitlab_rails['gitlab_shell_ssh_port'] = 222


更新配置后,執(zhí)行gitlab-ctl reconfigure命令讓gitlab重新加載配置, 由于本次是docker安裝的,執(zhí)行時前面必須加docker exec,如果是linux的話,直接執(zhí)行gitlab-ctl reconfigure命令就行

docker exec -it gitlab gitlab-ctl reconfigure

注: 第一次初始化后會產(chǎn)生當(dāng)前gitlab的配置文件 /lnmp/gitlab/gitlab-rails/etc/gitlab.yml 朴艰,在后期維護(hù)的過程中盡量配置 /lnmp/gitlab/gitlab-rails/etc/gitlab.yml 文件,然后gitlab-ctl restart 即可生效新的配置址愿;如果沒有必要不建議做第二次初始化该镣。

修改配置后,重啟gitlab

$ docker restart gitlab

此時項(xiàng)目的倉庫地址就變了。如果 ssh 端口地址不是默認(rèn)的 22必盖,就會加上 ssh:// 協(xié)議頭
打開瀏覽器輸入 ip 地址 如:http://127.0.0.1:8082. 可以查看gitlab頁面.
下面我們再為它設(shè)置一個nginx反向代理

4. nginx反向代理

為了避免和nginx的80端口沖突,我們在用docker啟動gitlab時將它的映射端口指向了外部的8082端口

我們再用nginx反向代理到8082端口,這樣就能用域名訪問了

server {
    listen       80;
    server_name  liuxd.gitlab.com;

    index index.html index.htm index.php;
    access_log /lnmp/log/nginx/gitlab.access.log;
    error_log  /lnmp/log/nginx/gitlab.error.log;

    allow   all;
    deny    all;

    location / {
        proxy_pass http://127.0.0.1:8082/;
    }
}

5. 問題處理

  • 安裝好后,打開報502錯誤
image.png

解決方案

  • 查看端口是否被占用(lsof -i :端口 命令), 如果是的話更換端口
  • 可能是內(nèi)存不足的問題拌牲,關(guān)閉其他占用內(nèi)存的程序,再刷新

使用和創(chuàng)建一個項(xiàng)目

1. 第一次登錄

第一次進(jìn)入要輸入新的 root 用戶密碼,設(shè)置好之后確定就行,
下次就可以用root賬號或admin@example.com郵箱再加密碼登錄了

image.png

2. 新建一個項(xiàng)目組

新建一個組別

image.png

3. 新建一個項(xiàng)目

下面我們就可以新建一個項(xiàng)目了歌粥,點(diǎn)擊 Create a project

image.png

點(diǎn)擊 Create a project

如果沒有選同時生成readme選擇,創(chuàng)建完成后是下圖這樣, 在這里可以再次添加文件,readme等

image.png

如果選擇了同時生成readme選擇,創(chuàng)建完成后是這樣的:

image.png

創(chuàng)建完成塌忽!

應(yīng)用創(chuàng)建和oauth認(rèn)證授權(quán)

應(yīng)用創(chuàng)建

Gitlab允許用戶創(chuàng)建Applications,這些Applications可以通過OAuth2授權(quán)來訪問Gitlab的相應(yīng)資源失驶。

在Gitlab中土居, Applications分兩種:

  • 第一種是用戶級別的Application, 這一般通過用戶的Profile菜單進(jìn)入創(chuàng)建

  • 第二種是系統(tǒng)級別的Application, 這一般只有管理員權(quán)限的人通過Admin菜單進(jìn)入創(chuàng)建.

1. 用戶級別的Application

image.png

然后點(diǎn)擊提交后擦耀, 將得到應(yīng)用創(chuàng)建后的信息:

image.png

這個頁面的信息將由創(chuàng)建應(yīng)用的管理員分發(fā)給相應(yīng)的Application負(fù)責(zé)人棉圈, 后面, Application應(yīng)用負(fù)責(zé)人將使用這些信息做認(rèn)證眷蜓。

注冊完成后分瘾, 我們可以看到應(yīng)用現(xiàn)在只有0個Clients, 即還沒有任何實(shí)例作為這個Application的實(shí)例進(jìn)行認(rèn)證:

image.png

2. 系統(tǒng)級別的Application

image.png
image.png
image.png

應(yīng)用oauth認(rèn)證授權(quán)

應(yīng)用注冊成功后吁系, 應(yīng)用的實(shí)例就可以作為一個認(rèn)證實(shí)體向Gitlab認(rèn)證自己啦德召, 如果認(rèn)證成功, 就可以獲取一個代表某個用戶權(quán)限的access token對Gitlab的資源進(jìn)行訪問了汽纤。
例如:Gerrit通過Gitlab認(rèn)證

GitLab as an OAuth2 client 這篇幫助文檔其實(shí)說的就是這個過程

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末上岗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蕴坪,更是在濱河造成了極大的恐慌肴掷,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件背传,死亡現(xiàn)場離奇詭異呆瞻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)续室,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門栋烤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挺狰,你說我怎么就攤上這事明郭。” “怎么了丰泊?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵薯定,是天一觀的道長。 經(jīng)常有香客問我瞳购,道長话侄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任学赛,我火速辦了婚禮年堆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盏浇。我一直安慰自己变丧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布绢掰。 她就那樣靜靜地躺著痒蓬,像睡著了一般童擎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攻晒,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天顾复,我揣著相機(jī)與錄音,去河邊找鬼鲁捏。 笑死芯砸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的给梅。 我是一名探鬼主播乙嘀,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼破喻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盟榴,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤曹质,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后擎场,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羽德,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年迅办,在試婚紗的時候發(fā)現(xiàn)自己被綠了宅静。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡站欺,死狀恐怖姨夹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情矾策,我是刑警寧澤磷账,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站贾虽,受9級特大地震影響逃糟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蓬豁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一绰咽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧地粪,春花似錦取募、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笑跛。三九已至,卻和暖如春聊品,著一層夾襖步出監(jiān)牢的瞬間飞蹂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工翻屈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陈哑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓伸眶,卻偏偏與公主長得像惊窖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子厘贼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355