gitlab搭建

Git的家族成员

Git:是一种版本控制系统,是一个命令,是一种工具。

Gitlib:是用于实现Git功能的开发库。

Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

Gitlab的服务构成

Nginx:静态web服务器。

gitlab-shell:用于处理Git命令和修改authorized keys列表。

gitlab-workhorse:轻量级的反向代理服务器。

logrotate:日志文件管理工具。

postgresql:数据库。

redis:缓存数据库。

sidekiq:用于在后台执行队列任务(异步执行)。

unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

GitLab工作流程 

 

 

 

GitLab安装搭建:

步骤一:在系统防火墙中打开HTTP和SSH访问,依次运行下面的命令,命令如下所示:

sudo yum install -y curl policycoreutils-python openssh-server

sudo systemctl enable sshd

sudo systemctl start sshd

sudo firewall-cmd --permanent --add-service=http

sudo systemctl reload firewalld

 

步骤二:安装Postfix 邮件通知服务

sudo yum install postfix

sudo systemctl enable postfix

sudo systemctl start postfix

 

步骤三:安装 Gitlab 软件包

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

 

步骤四:配 Gitlab 访问的域名

sudo EXTERNAL_URL="http://172.16.7.140" yum install -y gitlab-ee

 

步骤五:浏览器访问

http://172.16.7.140

 

 

 

 

常见指令:

修改 ip

gitlab 本身采用 80 端口,如安装前服务器有占用 80,安装完访问会报错。需更改gitlab 的默认端口,比如我们将 Gitlab 的默认端口改为 8082 。

 

第一步

打开阿里云服务器防火墙的 8082 端口

//打开防火墙服务

systemctl start firewalld

//开启防火墙 8082 端口

firewall-cmd --zone=public --add-port=8082/tcp --permanent

//重启防火墙服务,让配置生效

systemctl restart firewalld

第二步

修改 Gitlab 默认端口配置

打开 /etc/gitlab/gitlab.rb 文件,找到 external_url 字段,如下图所示:

http://47.94.230.26 改为 http://47.94.230.26:8082

然后执行 gitlab-ctl reconfigure 让配置立即生效。

在浏览器中访问 http://47.94.230.26:8082 , 就可以看到 Gitlab 的页面了。

其他命令

//启动

sudo gitlab-ctl star

 

//停止

sudo gitlab-ctl stop

 

//重启

sudo gitlab-ctl restart

 

//使更改配置生效

sudo gitlab-ctl reconfigure

 

 

 

修改管理员密码:

  1. 切换目录:cd /opt/gitlab/bin
  2. 执行 :sudo gitlab-rails console production 命令 开始初始化密码
  3. 在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
  4. 通过u.password='12345678'设置密码为12345678(最少8位字符串)
  5. 通过u.password_confirmation='12345678' 再次确认密码
  6. 通过 u.save!进行保存(切记切记 后面的 !)
  7. 如果看到true ,恭喜你已经成功了,执行 exit 退出当前设置流程即可
  8. 回到gitlab ,可以通过 root/12345678 这一超级管理员账号登录了

 

界面操作如下:

项目新建组:

1.创建用户组

 

2.将用户添加到对应的用户组

 

 

项目用户新增:

1.创建用户

 

 

2.设置用户初始密码

 

 

创建新项目

 

项目权限控制:

1.设置项目的操作者

点击项目>SettingsàMembers

 

2.设置master的操作权限

点击项目>SettingsàRepository Settings

修改为如图所示(默认都是Maintianers),作用是让developer可以提交或合并代码到master,默认master分支是不让developer提交或合并代码到master的。

 

 

 

项目迁移

1.删除.git隐藏文件夹

方式一:2.返回上级目录,在文件夹上右键选择git bash here

按顺序执行如下命令(user.name,user.email和origin根据实际情况填写):

#首次连接时需要执行

git config --global user.name "xiaozm"

git config --global user.email xiaozm@gzjp.cn

#非首次连接时,上面的指令不需要执行,直接从此处开始

git init

git remote add origin http://172.16.7.140/develop/jp-WI-WorkOrder-business-ms.git

git add .

git commit -m "Initial commit"

git pull --rebase origin master

git add README.md

git rebase --continue

git push -u origin master

 

 

 

 

 

 

 

 

 

 

 

 

 

 

免密提交代码:

1.在任意目录右键,选择git bash here

输入如下命令:ssh-keygen -t rsa -C 'xxx@xxx.com'

然后一路回车即可

2. 然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容

3. 打开gitlab,找到Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮

 

4.本地配置多个ssh key

a.为gitlab生成一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa

ssh-keygen -t rsa -C 'wangs@gzjp.cn' -f C:/Users/Administrator/.ssh/gitlab-rsa

b.为github生成一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa

ssh-keygen -t rsa -C 'wangs@gzjp.cn' -f C:/Users/Administrator/.ssh/githab-rsa

再次查看~/.ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件

c.在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:

# gitlab

Host gitlab.com

    HostName gitlab.com

    PreferredAuthentications publickey

    IdentityFile ~/.ssh/gitlab_id-rsa

# github

Host github.com

    HostName github.com

    PreferredAuthentications publickey

    IdentityFile ~/.ssh/github_id-rsa

  

# 配置文件参数

# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件

# HostName : 要登录主机的主机名

# User : 登录名

# IdentityFile : 指明上面User对应的identityFile路径

d.按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub

 

 

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值