CentOS7.2 GitLab部署

 1、使用安装包的方式安装gitlab

# vim /etc/yum.repos.d/gitlib.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

# yum install gitlab-ce

  

 2、修改配置文件:

# vim /etc/gitlab/gitlab.rb

external_url 'http://X.X.X.X:8088'
......
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_from'] = 'xxxxxx@163.com'
......
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxxxx@163.com"
gitlab_rails['smtp_password'] = "111111"           # 客户端授权密码
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
......
user["git_user_email"] = "xxxxxx@163.com"
.....
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8080    #配置文件默认为8080,若其他程序使用了8080端口,需要修为其他端口,否则网页报错502

  

 3、执行配置并启动服务

# 只要修改配置文件就要reconfigure
# gitlab-ctl reconfigure

# gitlab-ctl  start
# gitlab-ctl  stop
# gitlab-ctl  restart

 

 4、检验端口及状态:

# gitlab-ctl status
run: gitlab-workhorse: (pid 67759) 314s; run: log: (pid 28482) 22876s
run: logrotate: (pid 67767) 314s; run: log: (pid 28631) 22858s
run: nginx: (pid 67773) 313s; run: log: (pid 28558) 22869s
run: postgresql: (pid 67781) 313s; run: log: (pid 27722) 22935s
run: redis: (pid 67790) 312s; run: log: (pid 27508) 22946s
run: sidekiq: (pid 67796) 311s; run: log: (pid 28442) 22878s
run: unicorn: (pid 67802) 311s; run: log: (pid 28402) 22879s

  

ss -tnl | grep PORT

  

 5、访问web页面

  • 有时出现502,可以刷新网页或者再次reconfigure
  • 有时需要sudo gitlab-ctl restart nginx
  • 初次访问Web页面会强制让你改密码,初始用户名/密码:root/5iveL!fe
  • 禁止前台注册
登录后:右上角 Admin Area --> Settings --> Sign-in Restrictions

  

 

  然后保存

  • 修改admin的邮箱
Admin Area --> Users --> Edit 

  然后保存

 6、新建用户

  • 点击右上角的添加用户

  • 填写用户信息并提交即可

 

 

 7、新建项目和组

  • 登陆root用户或其他需要创建项目的账户,点击左侧的 Projects --> New Project ,即可新建项目

  • 填写项目名称,选择项目是共有仓库还是私有仓库,创建

 

  • 若创建私有仓库,需要把其他用户添加到此组中,并确保具有读写权限即可(否则无法拉取和更新代码)
  •  点击右上角的添加组

  • 选择我们创建的myweb项目,并创建组

 

  • 添加指定的用户到组

  • 关联项目和组,点击左侧导航栏 Projects ,点击 myweb1 项目

 

  • 选择项目右侧管理中的 Groups 

  • 关联上myweb组,并设置权限

 8、上传主机公钥

  • 登陆指定的用户(例如jack),点击左侧导航栏 Profile Settings --> SSH Keys ,在Key中输入对应主机的公钥即可。Linux主机可以使用命令: ssh-keygen 生成用户公钥和私钥信息

 

 

 9、测试无需账户密码获取代码

  •  安装 git 命令
yum install git -y
  •  执行 git clone 命令无需账户密码即成功
# mkdir  /source
# cd /source/
# git clone git@172.20.3.201:root/myweb1.git

  

 10、Git常用命令

# git config --global user.name “name“ #设置全局用户名
# git config --global user.email  mail #设置全局邮箱
# git config --global –list #列出用户全局设置
# git add index.html  #添加文件到暂存区
# git add --all ./  #添加文件到暂存区
# git commit -m “11“  #提交文件到工作区
# git status #查看工作区的状态
# git push #提交代码到服务器
# git pull  #获取代码到本地
# git log #查看操作日志
# vim  .gitignore  #定义忽略文件
# git reset --hard  HEAD^  #git版本回滚, HEAD为当前版本,加一个^为上一个,^^为上上一个版本
# git reflog # #获取每次提交的ID,可以使用--hard根据提交的ID进行版本回退
# git reset --hard 5ae4b06 #回退到指定id的版本
# git branch  #查看当前所处的分支
# git checkout --  file  #从服务器更新某个那文件覆盖本地的文件

  

posted @ 2018-04-19 16:28  evescn  阅读(284)  评论(0编辑  收藏  举报