a.安装并创建用户

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!fe

设置用户名、密码,创建三个用户zhanghongqi、mafei、lixiang,

创建一个组Linkdood-kaifa

把master权限给zhanghongqi

创建一个项目,owner:Linkdood-kaifa,name:php-login,项目地址为:git@10.0.0.26:Linkdood-kaifa/php-login.git

b.授权

给lixiang授权为组用户,给mafei只授权为项目用户,组用户能看见这个组下的所有项目,项目用户是哪个项目里有他,他才能看到.

Add user to the group:添加lixiang为组用户,编辑用户,设置初始密码--lixiang123456

点击Manage Access,Add user to project:添加mafei为项目用户,编辑用户,设置初始密码--mafei123456

用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个现象,建议你慎重考虑;'你还有什么想问的?'面试官最想听到的答案是什么?

gitlab详解的更多相关文章

  1. 转载:centos安装gitlab详解

    原文地址:http://blog.csdn.net/jiangtao_st/article/details/73612298 一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 ...

  2. 【转】gitlab CI流水线配置文件.gitlab-ci.yml详解

    目录 GitLab CI流水线配置文件.gitlab-ci.yml详解 实验环境 GitLab CI介绍 .gitlab-ci.yml 配置参数 参数详解 script image services ...

  3. Docker系列10—容器编排工具Docker Compose详解

    本文收录在容器技术学习系列文章总目录 1.Docker Compose 概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用Compose文件来配置 ...

  4. jekins构建触发器详解

    jenkins版本:2.89.2 1.触发远程构建 (例如,使用脚本):通过一个网址的访问来触发构建,这样就不需要登录jenkins系统也能触发构建了. 示例地址: http://localhost: ...

  5. centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解

    centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...

  6. Angular Npm Package.Json文件详解

    Angular7 Npm Package.Json文件详解   近期时间比较充裕,正好想了解下Angular Project相关内容.于是将Npm官网上关于Package.json的官方说明文档进行了 ...

  7. git概念及工作流程详解

    git概念及工作流程详解 既然我们已经把gitlab安装完毕[当然这是非必要条件],我们就可以使用git来管理自己的项目了,前文也多多少少提及到git的基本命令,本文就先简单对比下SVN与git的区别 ...

  8. kubernetes 控制器详解【持续完善中】

    目录 资源创建详解 一:Pod及常用参数 1.简介 2.模板 3.删除pod 4.设置Pod主机名 5.镜像拉取策略(ImagePullPolicy) 二:RC 1.简介 2.模板 三:Deploym ...

  9. Git应用详解第五讲:远程仓库Github与Git图形化界面

    前言 前情提要:Git应用详解第四讲:版本回退的三种方式与stash 这一节将会介绍本地仓库与远程仓库的一些简单互动以及几款常用的Git图形化界面,让你更加方便地使用git. 一.Git裸库 简单来说 ...

随机推荐

  1. dwr介绍及配置

    DWR 编辑 DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的 ...

  2. 新线程 handler

    class CalculateThread extends Thread { private Handler handler; @Override public void run() { super. ...

  3. ASP.Net教程系列:多线程编程实战(一)

    Web开发中使用多线程可以增强用户体验,尤其是多用户.多任务.海量数据和资源紧张的情况下.所以我们的ASP.Net教程设立多线程编程实战专题.下面这些代码范例都是入门级的,希望对对大家学习ASP.Ne ...

  4. Spring Boot + Mybatis 多数据源配置实现读写分离

    本文来自网易云社区 作者:王超 应用场景:项目中有一些报表统计与查询功能,对数据实时性要求不高,因此考虑对报表的统计与查询去操作slave db,减少对master的压力. 根据网上多份资料测试发现总 ...

  5. webpack 环境搭建+实现热更新

    让我们一起构建一个小的app 为了便于你更好的了解Webpack带来的好处,我们将会构建一个非常小的app并将资源文件打包.在这个教程中我推荐基于Node4或Node5和NPM3来进行开发,这样就避免 ...

  6. ogre3D学习基础11 -- 交换两个场景管理器

    这一节,练习一下前几次学习的内容,功能很简单,就是建立两个不同的场景管理器,当按下键盘上某个键时切换镜头. 基本框架不变,这个监听器继承了两个父类,一个是我们的老朋友ExampleFrameListe ...

  7. 大数据学习——sparkSql

    官网http://spark.apache.org/docs/1.6.2/sql-programming-guide.html val sc: SparkContext // An existing ...

  8. LoadRunner 手动关联

    步骤: 1.同样的流程录制两遍,保存在不同的项目中, 2.点击Tools >> Compare with Script 3.选择要比对的脚本 3.找辨识码 4.打开辨识码所在网页,查看源代 ...

  9. 1章 perl入门

    1.标量数据    单变量    数字和字符串两种情况 2.所有数字的内部格式都相同.浮点型   perl中没有应对整数值得运算   . 3.浮点数直接量 数字e表示10的次方标示符 例子:-6.5e ...

  10. 如果奇迹有颜色,那么一定是暴力or模拟比较6

    模拟就是一个思想,给你一个东西,没有很好的算法去解决,只需要计算机去暴力,优雅的暴力就可以叫算法了 主要还是考大家的代码能力,这次题目应该不需要任何前置技能. 1001 Time Limit(Comm ...