gitlab部署及整合Jenkins持续构建(二)HTTP/SSH管理远程仓库gitlab、配置gitlab邮件服务

gitlab安装及管理

gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 (基础功能免费,高级功能收费)

为什么要使用gitlab

基础功能开源,可自行搭建可以进行权限控制,使得代码对部分人可见 gitlab使用方便,非常适合企业内部使用

gitlab的安装

1、在防火墙里开放http跟ssh端口
yum install lokkit
在这里插入图片描述
yum install curl openssh-server openssh-clients postfix cronie -y
systemctl start postfix
systemctl enable postfix.service
lokkit -s http -s ssh

2、添加gitlab仓库,并安装
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
在这里插入图片描述
sudo yum install gitlab-ce
在这里插入图片描述

3、启动gitlab
gitlab-ctl reconfigure
在这里插入图片描述

可以通过访问虚拟机ip地址验证:
在这里插入图片描述

根据系统提示信息,可以进入到相应文件中查看密码:
在这里插入图片描述
在这里插入图片描述
之后可以根据提示修改密码

4、创建项目:
在这里插入图片描述

创建成功后可见项目地址不对,需要进行修改:
在这里插入图片描述

4、修改配置文件
vim /etc/gitlab/gitlab.rb:修改external_url为gitlab机子的ip+要使用的端口 ,如:http://10.24.200.10:8888在这里插入图片描述

找到nginx['listen_port']这条语句,改为刚刚选定的端口(8888),如nginx[‘listen_port’] = 8888:
在这里插入图片描述

5、重新配置gitlab并重启:
gitlab-ctl reconfigure
gitlab-ctl restart

6、配置防火墙:
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
在这里插入图片描述

7、重启生效配置:
systemctl restart iptables.service
在这里插入图片描述

使用HTTP方式管理gitlab

1、创建file1文件自定义内容,并初始化git:
git init
在这里插入图片描述
在这里插入图片描述

2、本地添加到暂存区并提交:
git add *或者git add file1
git commit -m "输入提交内容"
在这里插入图片描述

3、远程提交到gitlab的,并推送:
git remote add origin http://10.24.200.10:8888/gitlab-instance-4001b00b/testdemo.git
git push --set-upstream origin mastergit push --set-upstream origin main
在这里插入图片描述
在这里插入图片描述

正确输入账号密码后:
在这里插入图片描述

可以看到推送成功:
在这里插入图片描述

配置gitlab邮件服务

配置邮箱服务的用途

有合并请求时,邮件通知 账号注册时,邮件验证修改密码时,通过邮件修改

配置步骤

1、开启QQ邮箱的smtp服务(不建议使用163邮箱,发几次之后,就不能发送)
设置–>账户–>smtp–>开启

2、修改gitlab配置:vim /etc/gitlab/gitlab.rb,找到下面这一串文本,进行修改::

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "730227081@qq.com"
gitlab_rails['smtp_password'] = "kpjcsmyvttqnbdfh"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

gitlab_rails['gitlab_email_from'] = '730227081@qq.com'

user['git_user_email'] = "730227081@qq.com"

gitlab-ctl reconfigure重启配置

3、测试邮件服务是否正常
gitlab-rails console
Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
在这里插入图片描述

测试发送:
在这里插入图片描述

gitlab的账号注册及分组

当其他人访问域名进行注册登录时,输入不合法的邮箱一样会注册成功,这样显然是不行的,因此可以开启注册邮箱验证:

开启注册邮箱验证

步骤:admin area -->setting–>Sign-up restrictions–>勾选Send confirmation email on sign-up
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时再次注册,可以收到邮件,管理员批准后收到准入邮件:
在这里插入图片描述

创建分组并邀请成员

当前用户:root、zhang demo
在这里插入图片描述

创建组:
首页->create a group

访问级别:

  • Private:只有组成员才能看到 Internal:只要登录的用户就能看到 Public:所有人都能看到
  • Guest:可以创建issue、发表评论,不能读写版本库 Reporter:可以克隆代码,不能提交
  • Developer:可以克隆代码、开发、提交、push Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
  • Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员

使用SSH方式管理gitlab

以管理员身份运行git bash:
在这里插入图片描述
ssh-keygen -t rsa(三次回车)
在这里插入图片描述

C:\Users\用户\.ssh下产生两个文件:id_rsa和id_rsa.pub
在这里插入图片描述

用记事本打开id_rsa.pub文件,复制内容,在gitlab.com的网站上到ssh密钥管理页面,内容粘贴刚才复制的内容,点击add key
在这里插入图片描述
在这里插入图片描述

现在就可以使用SSH方式了:
在这里插入图片描述
验证成功:
在这里插入图片描述

gitlab分支及标签的保护

保护特定的分支不被随便合并,以免影响相应的分支:
进入项目–>setting–> repository–>projected branches
在这里插入图片描述
在这里插入图片描述

注意 能push 就能merge ,相应的权限把握好(master分支设置只能masters可以合并)

例:
1、创建空文件夹,初始化git暂存区:git initgit remote add origin [项目链接]
2、拉取项目master分支内容到本地:git pull origin master
3、创建并切换到新分支dev,并拉取项目dev分支内容到本地:git pull origin dev
4、 对拉取到的内容进行修改,并添加到git暂存区后提交:git add *git commit -m "提交说明"
5、切换到master分支(默认分支),将两条分支合并:git merge dev
6、推送到远程仓库gitlab:git push(如果出现提示git push --set-upstream origin master就使用提示的语句)
7、此时会跳出登录界面,以developer身份的用户登录,之后会显示remote rejected,验证分支保护成功:
在这里插入图片描述

标签和分支用法一样–v*保护v开头的所有标签:
在这里插入图片描述

创建v1.0.1标签并推送到远程仓库gitlab,验证保护成功:
在这里插入图片描述

可能出现的问题

option --selinux: invalid choice: ‘disable’ (choose from ‘enforcing’, ‘permissive’, ‘disabled’

执行lokkit -s http -s ssh报错:option --selinux: invalid choice: ‘disable’ (choose from ‘enforcing’, ‘permissive’, ‘disabled’)
在这里插入图片描述
解决方法:
vi /etc/selinux/config
在这里插入图片描述
强制模式enforcing:表示所有违反安全策略的行为都将被禁止。
宽容模式permissive:表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。

根据情况自行修改。

curl: (6) Could not resolve host: packages.gitlab.cc; Unknown error

添加gitlab仓库,并安装执行curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 报错:curl: (6) Could not resolve host: packages.gitlab.cc; Unknown error
在这里插入图片描述
解决方法:
进入网址:https://packages.gitlab.com/gitlab/gitlab-ce
在这里插入图片描述
在这里插入图片描述
可获得最新有效链接

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆浆两块钱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值