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 #从服务器更新某个那文件覆盖本地的文件

  

CentOS7.2 GitLab部署的更多相关文章

  1. 【补充】Gitlab 部署 CI 持续集成

    上一篇:<劈荆斩棘:Gitlab 部署 CI 持续集成> 上一篇所配置的.gitlab-ci.yml: stages: - build - test before_script: - ec ...

  2. 劈荆斩棘:Gitlab 部署 CI 持续集成

    阅读目录: install configue gitlab-ci-multi-runner restore nuget packages bulid .sln run unit tests confi ...

  3. centos7 下zookeeper 部署 单机多实例模式

    centos7 下zookeeper 部署 本文参考https://www.linuxidc.com/Linux/2016-09/135052.htm 1.创建/usr/local/zookeeper ...

  4. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

  5. CentOS7.4下部署hadoop3.1.1

    CentOS7.4下部署hadoop3.1.1 契机 由于工作原因要部署hadoop的集群,习惯使用最新的稳定版本2018年的时候由于时间紧破部署了2.7.2版本,最新由于又要部署有研究了一下3.x的 ...

  6. Hadoop生态圈-CentOs7.5单机部署ClickHouse

    Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...

  7. CentOS7.4安装部署openstack [Liberty版] (二)

    继上一篇博客CentOS7.4安装部署openstack [Liberty版] (一),本篇继续讲述后续部分的内容 一.添加块设备存储服务 1.服务简述: OpenStack块存储服务为实例提供块存储 ...

  8. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  9. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3

    CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...

随机推荐

  1. $.proxy() 的妙用

    $.proxy() 最主要就是用来修改函数执行时的上下文对象的. 先看以下情景: <div id="panel" style="display:none;" ...

  2. Android 平台电容式触摸屏的驱动基本原理

    Android 平台电容式触摸屏的驱动基本原理 Android 平台电容式触摸屏硬件基本原理 Linux 与 Android 的多点触摸协议 Linux输入子系统:事件的编码

  3. STM32探秘 之FSMC

    源:STM32探秘 之FSMC STM32 FSMC总线深入研究

  4. 【Flask】ORM 关系一对一

    ### 一对一的关系:在sqlalchemy中,如果想要将两个模型映射成一对一的关系,那么应该在父模型中,指定引用的时候,要传递一个`uselist=False`这个参数进去.就是告诉父模型,以后引用 ...

  5. 以太坊钱包Geth使用命令

    一.启动以太坊钱包Geth 打开一个控制台,执行同步区块命令 #同步测试链geth --fast --cache=512 --rpc --rpcapi personal,db,eth,net,web3 ...

  6. 在.h和.cpp中包含头文件的区别

    1.在.h中包含头文件,是为了声明一系列这个头文件的变量等,可能会产生重复包含的问题: 2.在.cpp中包含头文件只是为了实现这个头文件或者使用其中的方法,不会有重复包含的问题,所以尽量在源文件中包含 ...

  7. Nginx location指令匹配顺序规则

    location匹配命令 1. “= ”,字面精确匹配, 如果匹配,则跳出匹配过程.(不再进行正则匹配) 2. “^~ ”,最大前缀匹配,如果匹配,则跳出匹配过程.(不再进行正则匹配) 3. 不带任何 ...

  8. C#遍历指定文件夹中的所有文件

    DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);//遍历文件夹foreach(DirectoryInfo NextFolder in ...

  9. java中@Qualifier("string")是什么用法

    @Qualifier("XXX") Spring的Bean注入配置注解,该注解指定注入的Bean的名称,Spring框架使用byName方式寻找合格的bean,这样就消除了byTy ...

  10. 更改自己iCloud的地区

    百度一大堆都是过时的,而且没有用,通过google后发现google+里有一个文章https://plus.google.com/+%E5%90%B4%E5%BF%97%E5%8B%8776/post ...