gitlab詳解

a.安裝並建立用戶php

yum -y install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix
rpm -ivh gitlab-ce-10.0.4-ce.0.el7.x86_64.rpm
vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.26'  # 外網ip
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server {
  listen *:81;
  server_name 10.0.0.26;
}
gitlab-ctl  reconfigure
gitlab-ctl  start

訪問http://10.0.0.26:81,默認用戶:root,5iveL!fehtml

設置用戶名、密碼,建立三個用戶zhanghongqi、mafei、lixiang,python

建立一個組Linkdood-kaifanginx

把master權限給zhanghongqigit

建立一個項目,owner:Linkdood-kaifa,name:php-login,項目地址爲:git@10.0.0.26:Linkdood-kaifa/php-login.git面試

b.受權vim

給lixiang受權爲組用戶,給mafei只受權爲項目用戶,組用戶能看見這個組下的全部項目,項目用戶是哪一個項目裏有他,他才能看到.windows

Add user to the group:添加lixiang爲組用戶,編輯用戶,設置初始密碼--lixiang123456bash

點擊Manage Access,Add user to project:添加mafei爲項目用戶,編輯用戶,設置初始密碼--mafei123456dom

用lixiang這個用戶第一次登錄時,須要重置密碼--lixiang123,點擊Profile Settings上傳SSH Keys

在10.0.0.25上生成密鑰對,將公鑰上傳到gitlab,該公鑰具備全局惟一性,而後在10.0.0.25上就能以ssh的方式clone項目代碼

c.使用

以root用戶登錄gitlab,建立一個readme文件並提交,會自動建立一個分支:master-default-protected

deploy key的做用是讓某個客戶端只能下載代碼,不能上傳代碼,譬如Jenkins.

在Milestone中建立里程碑,以zhanghongqi進入項目,爲每一個開發者分配任務,建立issue;給lixiang分發兩個issue:首頁和新聞,

演示開發及提交過程:

git clone git@10.0.0.26:Linkdood-kaifa/php-login.git
git checkout -b firstpage
mkdir first
cd first/
echo "<h1>This is first page</h1>" >> index.html
git add .
git commit -m "shouye"
git push origin firstpage

lixiang開發完首頁功能以後,登錄gitlab發出merge請求,Create Merge Request;Assignee:zhanghongqi.

zhanghongqi登錄gitlab,Accept Merge Request接受融合請求.

master融合分支firstpage以後,lixiang這個開發者如何將本地的master更新到最新:

git checkout master
git pull  # 更新本地master
# 只有zhanghongqi具備master權限,只有他能以這樣的方式提交:
git push origin master
# 其餘沒有master權限的人只能從分支提交.
# 用規定的語句去關閉zhanghongqi建立的2號issue
git commit -m "close #2" 

解決問題:

git clone  ssh://git@10.0.0.26:Linkdood-yw/Linkdood.git
ssh方式:讓你輸入密碼時,說明你沒有上傳公鑰
git clone http://10.0.0.26/Linkdood-yw/Linkdood.git
http方式:輸入正確的用戶名密碼則能夠下載

windows上使用git添加遠程倉庫
cd /e/
mkdir linkdood
cd linkdood/
ssh-keygen.exe
# 公鑰位置 /c/Users/daydayup/.ssh/id_rsa.pub,將公鑰上傳到gitlab
git init
git config --global user.name "lixiang"
git config --global user.email "lixiang@163.com"
git config --list
git remote -v  # 查看遠程倉庫信息

d.備份和恢復

gitlab_rails['backup_path'] = "/data/backups/gitlab"
gitlab_rails['backup_keep_time'] = 604800
mkdir -p /data/backups/gitlab
gitlab-ctl reconfigure
ls -ld /data/backups/gitlab
drwx------ 2 git root 6 Dec 27 19:43 /data/backups/gitlab
# gitlab已經幫你設置好了權限,下面這一步無關緊要
chown -R git.git /data/backups/gitlab
# 添加備份gitlab定時任務
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
# 翻譯時間戳
1545911517_gitlab_backup.tar
date -d @1545911517-->Thu Dec 27 19:51:57 CST 2018
# 在gitlab上刪除項目,恢復,中止數據寫入服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1545911517

郵件配置

gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'lixiang@126.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.126.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "lixiang"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "126.com"
gitlab_rails['smtp_authentication'] = "login"

 

面試之簡歷很重要:https://blog.csdn.net/X8i0Bev/article/details/85151460

發現公司有這8個現象,建議你慎重考慮;'你還有什麼想問的?'面試官最想聽到的答案是什麼?

相關文章
相關標籤/搜索