ubuntu離線搭建gitlab伺服器
『壹』 系裡要搭建gitlab伺服器。我在我的電腦上安裝好gitlab。發現自己可以連上。但是用舍友的電腦卻連不上。
你說的在瀏覽器里瀏覽不了,還是代碼clone不下來?如果是前者,就是網的問題,如果是後者,就是ssh公鑰或者ip的問題,你可以具體說下
『貳』 如何在ubuntu server 14.04下安裝gitlab中文版
安裝步驟有:
1. 依賴包
2. ruby
3. 用戶創建
4. 資料庫初始化
5. redis
6. gitlab源碼
7. apache
本文可能會用到VPN連接,在命令行下創建VPN連接的方法如下:
sudo apt-get install pptp-linux
sudo pptpsetup --create VPN名稱 --server 伺服器地址 --username 用戶名 --password 密碼 [--encrypt] --start
以上命令會創建一個設備,如果沒有其他的撥號設備,這個設備會是ppp0,用ifconfig可以看到,「--encrypt」選項可選,因為有的伺服器不支持,會提示MPPE required but peer negotiation failed,創建時帶上「--start」選項可以看到連接的情況。
pptpsetup創建的VPN連接重啟後會失效,如果想在不重啟的情況下刪除VPN連接:
sudo pptpsetup --delete VPN名稱
創建VPN連接後還需要使能,並且添加到路由列表:
sudo pon VPN名稱
sudo route add default dev ppp0
禁用VPN連接的方法是:
sudo poff VPN名稱
下面開始正文:
1. 依賴包
我裝的是ubuntu server 14.04,安裝的時候可以選是否安裝LAMP(Linux+Apache+Mysql+PHP),如果沒裝,可以用下面的命令裝:
sudo tasksel install lamp-server
安裝的時候會提示輸入MySQL的root密碼,下面要用。
接下來是依賴關系:
sudo apt-get install flex bison ruby build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake libkrb5-dev nodejs git-core
注意:這裡面裝了ruby,應該是1.9.1版本的,gitlab需要2.0以上的ruby,但是安裝2.0以上的ruby需要低版本的ruby,所以我們先裝上,一會兒卸掉。另外,ubuntu 14.04的軟體庫里有ruby 2.0,但是實測不能用,所以還是從源碼裝ruby吧。
2. ruby
下載,編譯,安裝(安裝前刪掉ruby 1.9.1):
curl -L --progress http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz | tar xz
cd ruby-2.1.5
./configure --prefix=/usr --disable-install-rdoc
make
sudo apt-get autoremove ruby
sudo make install
然後安裝bundler:
sudo gem install bundler --no-ri --no-rdoc
3. 用戶創建
為gitlab創建一個git用戶:
sudo adser --disabled-login --gecos 'GitLab' git
4. 資料庫初始化
官方指南用的是PostgreSQL,不過官方也有MySQL的說明:
http://doc.gitlab.com/ce/install/database_mysql.html
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
mysql -u root -p
輸入MySQL的root密碼登陸,然後:
mysql> CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';
記得把上面這句的"$password"換成實際的密碼,然後:
mysql> SET storage_engine=INNODB;
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_proction` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON `gitlabhq_proction`.* TO 'git'@'localhost';
mysql> \q
5. Redis
Redis貌似是用來存key的資料庫吧,不知道,反正按步驟安裝:
sudo apt-get install redis-server
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
sed 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf
echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a /etc/redis/redis.conf
echo 'unixsocketperm 770' | sudo tee -a /etc/redis/redis.conf
sudo service redis-server restart
sudo usermod -aG redis git
6. gitlab源碼
gitlab源碼默認是安裝在/home/git/gitlab,如果要更改,請參照官方手冊。獲取中文版源碼的過程如下:
cd /home/git
sudo -u git -H git clone https://gitlab.com/larryli/gitlab.git
不知道是因為GFW還是什麼,git clone這個版本庫可慢可慢了,我用了VPN,速度會快點。
git clone完以後可以checkout你想要的版本,在本文編寫的時間(2015年4月22日),可以:
sudo -u git -H git checkout 7-7-zh
然後配置源碼
cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo chmod -R u+rwX public/uploads
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "[email protected]"
sudo -u git -H git config --global core.autocrlf input
sudo -u git -H cp config/resque.yml.example config/resque.yml
當然,你可以把[email protected]改成你的email;上面的那些yml文件裡面的配置基本都不用更改;然後,配置資料庫用戶名和密碼:
sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -H editor config/database.yml
sudo -u git -H chmod o-rwx config/database.yml
然後,安裝gems:
sudo -u git -H bundle install --deployment --without development test postgres aws
這一步必須使用VPN,因為萬惡的GFW屏蔽了rubygems.org,所以會提示connection reset by peer之類的,這部時間也會比較久,如果你的機器是多核的,也可以加上和make相同-jN參數,N等於核數。
(2015年5月2日追加)
發現淘寶做了個rubygrems.org的國內鏡像,http://ruby.taobao.org/,可以參照上面的內容設置,加快gems安裝速度。
再接下來安裝gitlab shell:
sudo -u git -H bundle exec rake gitlab:shell:install[v2.6.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=proction
sudo -u git -H editor /home/git/gitlab-shell/config.yml
把gitlab的url改成http://localhost/或者你的域名。
在接下來初始化資料庫:
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=proction
加入啟動項:
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo update-rc.d gitlab defaults 21
初始化日誌:
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
檢查應用狀態:
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=proction
編譯附件:
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=proction
啟動gitlab服務:
sudo service gitlab start
7. apache
下載apache的配置文件:https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache2.4.conf
將其中的「ProxyPassReverse
http://gitlab.example.com/」改成「ProxyPassReverse
http://localhost/」或者你的域名,將其中的「/var/log/httpd/logs/」改為「/var/log/apache2/」。
用命令來說:
wget https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/web-server/apache/gitlab-apache2.4.conf
mv gitlab-apache2.4.conf 001-gitlab.conf
editor 001-gitlab.conf (進行上述修改)
sudo cp 001-gitlab.conf /etc/apache2/sites-available
cd /etc/apache2/sites-enabled
sudo rm 000-default.conf
sudo ln -s ../sites-available/001-gitlab.conf 001-gitlab.conf
另外,還需要使能代理模塊以實現反向代理功能,不然會提示「ProxyPassReverse」無效之類的。
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/proxy.conf proxy.conf
sudo ln -s ../mods-available/proxy.load proxy.load
sudo ln -s ../mods-available/proxy_connect.load proxy_connect.load
sudo ln -s ../mods-available/proxy_http.load proxy_http.load
sudo ln -s ../mods-available/rewrite.load rewrite.load
重啟apache:
sudo service apache2 restart
然後,檢查下配置是否正確:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=proction
如果都是綠色的結果,那就可以訪問了。登陸用戶名:root,初始密碼:5iveL!fe
最後配置一下郵件,修改/home/git/gitlab/config/gitlab.yml,裡面的「email_from:」為一個有效的email地址;修改/home/git/gitlab/config/environments/proction.rb,裡面的 「config.action_mailer.delivery_method=」為「:smtp」;最後:
cd /home/git/gitlab/config/initializers
sudo -u git -H cp smtp_settings.rb.sample smtp_settings.rb
然後把文件的里的內容修改正確了,再重啟一下gitlab服務就行了:
sudo service gitlab restart
『叄』 gitlab 在內網伺服器,怎麼使用
ubuntu 13/pub/ruby/1/gitlabhq/gitlab-shell/',本地區域網安裝的話默認localhost就行/gitlabhq/gitlabhq.git gitlab# 進入 gitlab 目錄cd /home/git/gitlab# 切換到 gitlab 的 5.3 分支.sudo -u git -H git checkout 5-3-stablecd /home/git/gitlab# 復制 gitlab 的示例配置文件到指定目錄sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml# 如果用的不是本地伺服器,更改 localhost 為 gitlab 的伺服器域名sudo -u git -H gedit config/gitlab.yml# 確保當前用戶對 gitlab 的 log 和 tmp 文件有讀寫許可權.sudo chown -R git log/sudo chown -R git tmp/sudo chmod -R u+rwX log/sudo chmod -R u+rwX tmp/# 創建一個我不認識的目錄...汗!sudo -u git -H mkdir /home/git/gitlab-satellites# 再創建兩個我不認識的目錄...並且確保 當前用戶對他有讀寫許可權.sudo -u git -H mkdir tmp/pids/sudo -u git -H mkdir tmp/sockets/sudo chmod -R u+rwX tmp/pids/sudo chmod -R u+rwX tmp/sockets/# 創建公共的上傳備份目錄,並確保當前用戶對其有讀寫許可權.否則備份會失敗.sudo -u git -H mkdir public/uploadssudo chmod -R u+rwX public/uploads# 復制示例配置文件到制定目錄sudo -u git -H cp config/puma.rb.example config/puma.rb# 找到其中有一行 # workers 2,去掉前面的 # 並將 2 改為 3.sudo -u git -H gedit config/puma.rb# 配置 gitlab 的全局設置.sudo -u git -H git config --global user.name GitLabsudo -u git -H git config --global user.email gitlab@localhost# 復制示例Mysql配置文件到指定目錄sudo -u git cp config/database.yml.mysql config/database.yml# 修改裡面的 root 為 gitlab, 密碼為創建的 gitlab mysql 用戶密碼sudo gedit config/database.yml# 安裝一個我不認識的東西...我沒臉翻譯了...大哥你還是看原版教程吧cd /home/git/gitlabsudo gem install charlock_holmes --version '0.6.9.4'sudo -u git -H bundle install --deployment --without development test postgressudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=proction# 下載 gitlab 的 開始/停止 腳本,並且加入當前用戶的可執行許可權.sudo cp lib/support/init.d/gitlab /etc/init.d/gitlabsudo chmod +x /etc/init.d/gitlab# 添加 gitlab 的開機啟動sudo update-rc.d gitlab defaults 21# 檢查 gitlab 的狀態和環境配置是否正確.sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=proction# 啟動 gitlabsudo service gitlab start# 或者sudo /etc/init.d/gitlab restart# 再次檢查 gitlab 的狀態,如果全部綠色,說明 gitlab 配置成功.不知道為什麼,我要運行這個命令兩次才會全綠sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=proction七. 配置 Nginx# 軟體源安裝Nginxsudo apt-get install nginx# 復制 gitlab 的示例配置到指定目錄sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlabsudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab# 修改配置文件.更改其中的 YOUR_SERVER_FQDN 為你的 gitlab 伺服器全稱域名或者本機IP地址,修改 listen 為 *:80sudo gedit /etc/nginx/sites-available/gitlab# 重啟 nginx 伺服器sudo service nginx restart# 打開瀏覽器輸入本機 IP,用下面的用戶密碼登錄既可[email protected]!fe
『肆』 ubuntu搭建gitlab伺服器,執行 gitlab-ctl reconfigure,顯示chef client failed。
原因:ubuntu14.04版本應該是 trusty 版本,而下載的gitlab軟體包卻是 xenial版本的
解決:下載trusty版本的 gitlab 進行安裝
查看ubuntu版本的方法:
root@kickseed:~# lsb_release -a
No LSB moles are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
『伍』 如何在 Ubuntu/Fedora/Debian 中安裝 GitLab
1. 安裝先決條件
首先,我們需要安裝 GitLab 所依賴的軟體包。我們將安裝 curl,用以下載我們所需的文件;安裝openssh-server ,以此來通過 ssh 協議登錄到我們的機器上;安裝ca-certificates,用它來添加 CA 認證;以及 postfix,把它作為一個 MTA(Mail Transfer Agent,郵件傳輸代理)。
註: 若要安裝 GitLab 社區版,我們需要一個至少包含 2 GB 內存和 2 核 CPU 的 linux 機器。
在 Ubuntu 14 .04/Debian 8.x 中
鑒於這些依賴包都可以在 Ubuntu 14.04 和 Debian 8.x 的官方軟體倉庫中獲取到,我們只需通過使用 apt-get 包管理器來安裝它們。為此,我們需要在一個終端或控制台中執行下面的命令:
#apt-get install curl openssh-server ca-certificates postfix
install dependencies gitlab ubuntu debian
在 Fedora 22 中
在 Fedora 22 中,由於 yum 已經被棄用了,默認的包管理器是 dnf。為了安裝上面那些需要的軟體包,我們只需運行下面的 dnf 命令:
# dnf install curl openssh-server postfix
install dependencies gitlab fedora
2. 打開並開啟服務
現在,我們將使用我們默認的初始化系統來打開 sshd 和 postfix 服務。並且我們將使得它們在每次系統啟動時被自動開啟。
在 Ubuntu 14.04 中
由於在 Ubuntu 14.04 中安裝的是 SysVinit 初始化系統,我們將使用 service 命令來開啟 sshd 和 postfix 守護進程:
# service sshd start
# service postfix start
現在,為了使得它們在每次開機啟動時被自動開啟,我們需要運行下面的 update-rc.d 命令:
# update-rc.d sshd enable
# update-rc.d postfix enable
在 Fedora 22/Debian 8.x 中
鑒於 Fedora 22 和 Debian 8.x 已經用 Systemd 代替了 SysVinit 來作為默認的初始化系統,我們只需運行下面的命令來開啟 sshd 和 postfix 服務:
#systemctl start sshd postfix
現在,為了使得它們在每次開機啟動時可以自動運行,我們需要運行下面的 systemctl 命令:
#systemctl enable sshd postfix
Created symlink from/etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.service.
Created symlink from/etc/systemd/system/multi-user.target.wants/postfix.service to /usr/lib/systemd/system/postfix.service.
3. 下載 GitLab
現在,我們將使用 curl 從官方的 GitLab 社區版倉庫下載二進制安裝文件。首先,為了得到所需文件的下載鏈接,我們需要瀏覽到該軟體倉庫的頁面。為此,我們需要在運行著相應操作系統的 linux 機器上運行下面的命令。
在 Ubuntu 14.04 中
由於 Ubuntu 和 Debian 使用相同的 debian 格式的安裝包,我們需要在 https://packages.gitlab.com/gitlab/gitlab-ce?filter=debs 下搜索所需版本的 GitLab,然後點擊有著 ubuntu/trusty 標簽的鏈接,即我們運行著的 Ubuntu 14.04。接著一個新的頁面將會出現,我們將看到一個下載按鈕,然後我們在它的上面右擊,得到文件的鏈接,然後像下面這樣使用 curl 來下載它。
# curl https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_8.1.2-ce.0_amd64.deb
Downloading Gitlab Ubuntu
在 Debian 8.x 中
與 Ubuntu 類似,我們需要在 https://packages.gitlab.com/gitlab/gitlab-ce?filter=debs 頁面中搜索所需版本的 GitLab,然後點擊帶有 debian/jessie 標簽的鏈接,即我們運行著的 Debian 8.x。接著,一個新的頁面將會出現,然後我們在下載按鈕上右擊,得到文件的下載鏈接。最後我們像下面這樣使用 curl 來下載該文件。
# curl https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_8.1.2-ce.0_amd64.deb/download
Downloading Gitlab Debian
在 Fedora 22 中
由於 Fedora 使用 rpm 文件來作為軟體包,我們將在 https://packages.gitlab.com/gitlab/gitlab-ce?filter=rpms 頁面下搜索所需版本的 GitLab,然後點擊所需發行包的鏈接,這里由於我們運行的是 Fedora 22,所以我們將選擇帶有 el/7 標簽的發行包。一個新的頁面將會出現,在其中我們可以看到一個下載按鈕,我們將右擊它,得到所需文件的鏈接,然後像下面這樣使用 curl 來下載它。
# curl https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.1.2-ce.0.el7.x86_64.rpm/download
Downloading Gitlab Fedora
4. 安裝 GitLab
在相應的軟體源被添加到我們的 linux 機器上之後,現在我們將使用相應 linux 發行版本中的默認包管理器來安裝 GitLab 社區版。
在 Ubuntu 14.04/Debian 8.x 中
要在運行著 Ubuntu 14.04 或 Debian 8.x linux 發行版本的機器上安裝 GitLab 社區版,我們只需運行如下的命令:
# dpkg -i gitlab-ce_8.1.2-ce.0_amd64.deb
Installing Gitlab Ubuntu Debian
在 Fedora 22 中
我們只需執行下面的 dnf 命令來在我們的 Fedora 22 機器上安裝 GitLab。
# dnf install gitlab-ce-8.1.2-ce.0.el7.x86_64.rpm
Installing Gitlab Fedora
5. 配置和開啟 GitLab
GitLab 社區版已經成功地安裝在我們的 linux 系統中了,接下來我們將要配置和開啟它了。為此,我們需要運行下面的命令,這在 Ubuntu、Debian 和 Fedora 發行版本上都一樣:
# gitlab-ctl reconfigure
Reconfiguring Gitlab
6. 允許通過防火牆
假如在我們的 linux 機器中已經啟用了防火牆程序,為了使得 GitLab 社區版的 web 界面可以通過網路進行訪問,我們需要允許 80 埠通過防火牆,這個埠是 GitLab 社區版的默認埠。為此,我們需要運行下面的命令。
在 iptables 中
Ubuntu 14.04 默認安裝和使用的是 iptables。所以,我們將運行下面的 iptables 命令來打開 80 埠:
# iptables -A INPUT -p tcp -m tcp --dport 80-j ACCEPT
# /etc/init.d/iptables save
在 firewalld 中
由於 Fedora 22 和 Debian 8.x 默認安裝了 systemd,它包含了作為防火牆程序的 firewalld。為了使得 80 埠(http 服務) 能夠通過 firewalld,我們需要執行下面的命令。
# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success
7. 訪問 GitLab Web 界面
最後,我們將訪問 GitLab 社區版的 web 界面。為此,我們需要將我們的 web 瀏覽器指向 GitLab 伺服器的網址,根據我們的配置,可能是 http://ip-address/ 或 http://domain.com/ 的格式。在我們成功指向該網址後,我們將會看到下面的頁面。
Gitlab Login Screen
現在,為了登錄進面板,我們需要點擊登錄按鈕,它將詢問我們的用戶名和密碼。然後我們將輸入默認的用戶名和密碼,即 root 和 5iveL!fe 。在登錄進控制面板後,我們將被強制要求為我們的 GitLab root 用戶輸入新的密碼。
Setting New Password Gitlab
8. 創建倉庫
在我們成功地更改密碼並登錄到我們的控制面板之後,現在,我們將為我們的新項目創建一個新的倉庫。為此,我們需要來到項目欄,然後點擊 新項目 綠色按鈕。
Creating New Projects
接著,我們將被詢問給我們的項目輸入所需的信息和設定,正如下面展示的那樣。我們甚至可以從其他的 git 倉庫提供商和倉庫中導入我們的項目。
Creating New Project
做完這些後,我們將能夠使用任何包含基本 git 命令行的 Git 客戶端來訪問我們的 Git 倉庫。我們可以看到在倉庫中進行的任何活動,例如創建一個里程碑,管理問題,合並請求,管理成員,便簽,Wiki 等。
Gitlab Menu
總結
GitLab 是一個用來管理 git 倉庫的很棒的開源 web 應用。它有著漂亮的帶有諸多酷炫功能的響應式界面。它還打包有許多酷炫功能,例如管理群組,分發密鑰,持續集成,查看日誌,廣播消息,鉤子,系統 OAuth 應用,模板等。(註:OAuth 是一個開放標准,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯系人列表),而無需將用戶名和密碼提供給第三方應用。--- 摘取自 維基網路上的 OAuth 詞條) 它還可以和大量的工具進行交互如 Slack,Hipchat,LDAP,JIRA,Jenkins,有很多類型的鉤子和完整的 API。它至少需要 2 GB 的內存和 2 核 CPU 來流暢運行,支持多達 500 個用戶,但它也可以被擴展到多個工作伺服器上。
『陸』 怎樣在ubuntu下搭建topic git(topgit)伺服器
可以參考這個文章
http://www.oschina.net/question/54100_19781
另外,topgit是基於git的插件,不存在伺服器的問題,要在ubuntu下安裝git伺服器,可以使用gitlab,支持http和ssh
『柒』 自己搭建的gitlab伺服器,中文顯示就亂碼。
就需要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。下面講述如何上傳你的ssh公鑰... 3.1.2保存sshkey到gitlab 在面板上依次點擊Profile Settings – SSH Keys – Add SSH K
『捌』 怎麼在win10下訪問搭建在ubuntu上的gitlab伺服器
GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。
在網上發現了這篇文檔——Import bare repositories into your GitLab instance,並按之進行了操作。
1)設置存放代碼庫的主目錄
vi /etc/gitlab/gitlab.rb
比如這里設置為:git_data_dir "/gitlab/repos"
2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。
這時會在 /gitlab/repos 下創建 /gitlab/repos/repositories/cnblogs 文件夾。
然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs
3)將現有的所有git項目文件復制到這個文件夾
cp -r /data/git/* /gitlab/repos/repositories/cnblogs
4)修改一下復制過來的文件夾的所有者:
chown -R git:git /gitlab/repos/repositories/cnblogs
5)運行GitLab導入命令
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos
等了一段時間之後,顯示done,卻一個項目也沒導入進來。
經研究發現,在導入時,GitLab只認文件夾名以.git結尾的項目。於是,將要導入的項目文件夾名稱加上.git後綴,再次進行導入。
結果顯示導入成功,比如:
Processing cnblogs/CNBlogsJob.git
* Created CNBlogsJob (cnblogs/CNBlogsJob.git)
Done!
可以是GitLab站點上卻看不到已導入的項目。多次努力,也沒能解決這個問題。
後來,實在沒辦法,改為手動導入,導入方法如下:
1)在GitLab站點上創建與要導入的項目同名的項目。
2)進入剛創建的項目文件夾
cd /gitlab/repos/repositories/cnblogs/項目名稱.git
3)刪除該文件下的所有文件
rm -rf *
4)將要導入的項目文件夾下的所有文件復制過來
cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git
就這樣將項目一個一個地導入進來。
5)導入完成後,修改一下導入的所有項目的文件所有者
chown -R git:git /gitlab/repos/repositories/cnblogs
如果不修改所有者,客戶端無法進行git push。
就這樣手動地完成了現有Git項目的導入。
備註:操作系統是CentOS 6.2,GitLab版本是7.8.4。
『玖』 git伺服器端有幾種辦法
Git 可以使用四種主要的協議來傳輸數據:本地傳輸,SSH 協議,Git 協議和 HTTP 協議。
Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。
Git的主要功能:
1. 檢查電子郵件或其他方式來檢查提交狀態的平均開發人員。
2. 修補程序並解決沖突(您自己或要求開發人員稍後重新提交它,如果它是一個開源項目,請確定哪些修補程序可以工作,哪些不能)。
3.將結果提交到公共伺服器,然後通知所有開發人員。
(9)ubuntu離線搭建gitlab伺服器擴展閱讀:
Git的優缺點:
優點:
1. 適合分布式開發,強調個人。
2. 公共伺服器壓力和數據量不是太大。
3.快速和靈活。
4.任何兩個開發人員之間的沖突都可以很容易地解決。
5. 離線工作。
缺點:
1. 數據很少(至少是中文)。
2. 學習周期相對較長。
3.不符合傳統思維。
4. 可憐的代碼的機密性。一旦開發人員克隆了整個庫,所有代碼和版本信息都可以完全公開。