嘗試經過兩種方式搭建gitlab,直接安裝和docker安裝。linux
而後咱們須要安裝的是社區版(免費版本)git
參考下面兩篇教程、文檔:
GitLab的安裝及使用教程
https://packages.gitlab.com/gitlab/gitlab-ce/installgithub
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum makecache
sudo yum install -y gitlab-ce
安裝成功後會有如下圖標:
gitlab-ctl start
,默認8080端口,設置端口須要修改配置vi /etc/gitlab/gitlab.rb
,external_url
設置域名和端口號,沒有域名則設置ip#GitLab經常使用命令 sudo gitlab-ctl start # 啓動全部 gitlab 組件; sudo gitlab-ctl stop # 中止全部 gitlab 組件; sudo gitlab-ctl restart # 重啓全部 gitlab 組件; sudo gitlab-ctl status # 查看服務狀態; sudo gitlab-ctl reconfigure # 啓動服務; sudo vim /etc/gitlab/gitlab.rb # 修改默認的配置文件; gitlab-rake gitlab:check SANITIZE=true --trace # 檢查gitlab; sudo gitlab-ctl tail # 查看日誌;
ip:端口號
或域名:端口號
後訪問,若是出現502-Whoops, GitLab is taking too much time to respond
,則說明端口被佔用,默認是8080端口,第一次訪問須要直接修改root密碼external_url
會影響到後面建立工程的git遠程服務器地址,假如我修改成localhostexternal_url 'http://localhost:8099'
,則出現下圖的狀況,最好仍是填本身的域名或者直接ip地址。每次修改配置文件
/etc/gitlab/gitlab.rb
後須要gitlab-ctl reconfigure
才能生效docker
git init
建立本地倉庫.git
的隱藏文件夾,這個就是咱們的本地倉庫,須要脫離版本控制的話能夠直接刪除這個.git
文件夾touch text.txt
並寫入hello world
,而後執行git add
添加到暫存區,進而git commit
到本地版本庫(這裏能夠發如今windows下使用的git bash跟linux下命令同樣)git remote add
命令添加咱們的gitlab遠程倉庫git push
提交代碼,這裏彈出框要求輸入用戶名和密碼,輸入以後就能夠提交成功,而後到gitlab上也能夠看到提交記錄ssh-keygen
生成密鑰文件id_rsa.pub
(在c盤-》用戶-》用戶名-》.ssh目錄下)#使用ssh-keygen生成密鑰文件id_rsa.pub ssh-keygen -t rsa -C "youremail@example.com" #獲取密鑰 cat ~/.ssh/id_rsa.pub
7.將密鑰所有複製粘貼到gitlab下的settings->ssh keys中便可配置成功,而後就能夠到gitlab項目中選擇ssh地址
vim
-f
參數強制提交,可是gitlab會報錯
unprotect
docker pull gitlab/gitlab-ce
docker run
建立和啓動容器,而後直接訪問ip:端口號
就能夠打開了gitlab頁面了docker run -d -p 8078:80 --name mygitlab gitlab/gitlab-ce
容器80端口映射到宿主機8078端口,dockerfile上也能夠看到容器是80端口EXPOSE 443 80 22
windows
-v
指定數據卷,宿主機上能夠方便修改配置文件cd ~ #能夠考慮把配置文件放到一個文件夾裏邊統一管理 mkdir gitlab cd ~/gitlab #啓動gitlab容器後,拷貝容器中的默認配置文件到當前文件夾 docker container cp mygitlab:/etc/gitlab . && mv gitlab config docker container cp mygitlab:/var/opt/gitlab . && mv gitlab data docker container cp mygitlab:/var/log/gitlab . && mv gitlab logs #先刪除舊的容器 docker rm mygitlab #建立新的容器,指定使用當前目錄下的配置目錄做爲數據卷 docker run -d -p 8078:80 --name mygitlab \ -v $PWD/config:/etc/gitlab \ -v $PWD/data:/var/opt/gitlab \ -v $PWD/logs:/var/log/gitlab \ gitlab/gitlab-ce
可是啓動後報錯:
centos
--restart always
讓容器報錯也不會自動關閉,並修改文件權限後重啓便可
#添加--restart always,容器報錯後不自動關閉 docker run -d -p 8078:80 --name mygitlab --restart always \ -v $PWD/config:/etc/gitlab \ -v $PWD/data:/var/opt/gitlab \ -v $PWD/logs:/var/log/gitlab \ gitlab/gitlab-ce #修改文件權限 docker exec -it mygitlab /bin/bash -c "chown -R git /var/opt/gitlab/gitlab-rails/uploads && find /var/opt/gitlab/gitlab-rails/uploads -type f -exec chmod 0644 {} \; && find /var/opt/gitlab/gitlab-rails/uploads -type d -not -path /var/opt/gitlab/gitlab-rails/uploads -exec chmod 0700 {} \;" docker exec -it mygitlab /bin/bash -c 'update-permissions' #重啓容器 docker restart mygitlab
gitlab 官方推薦是4g內存,2g內存也能夠跑,內存佔用比較高。我的使用的話能夠用,但不必。感受仍是github或是開源中國的碼雲好。緩存