Awbeci发布于 2019-01-17 1、前言
因本人需要,要建立一个Gitlab代码托管服务器方便团队人员使用,所以把相关过程记录下来分享给大家。搭建好的gitlab在线访问
2、准备工作我使用的是阿里云服务器ECS,系统是CentOS7.6,配置是 2核CPU 4GB内存,Gitlab官网推荐最低内存是4G。
3、开始安装打开gitlab中文网安装地址,推荐Omnibus 包安装安装
3.1 安装依赖包yum install -y curl policycoreutils-python openssh-serversystemctl enable sshdsystemctl start sshdfirewall-cmd --permanent --add-service=http(在aliyun ECS 安全规则组里面设置,这里可以不用设置)systemctl reload firewalld(同上)3.2 下载并执行安装gitlab的shell文件
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash3.3 设置自己的域名并且安装gitlab-ee
sudo EXTERNAL_URL=\"http://gitlab.example.com\" yum install -y gitlab-ee3.4 安装完成
执行完上面几个步骤成功之后就可以访问gitlab了。
如果你们发现80端口不能访问,就要看看是不是阿里云服务器的安全组规则有没有设置,如果没有设置一下就好,下面是我的安全组规则。
3.5 免费申请阿里云SSL证书购买成功之后,配置好域名,我这里的域名是: gitlab.awbeci.com,设置好之后等待审核,审核成功之后选择nginx版本并下载证书
下载完成之后是个.zip的压缩包,我们上传到服务器上,使用下面命令:
scp your-cert.zip root@your-server-ip:/your-server-directory
上传成功之后我们等待下一步操作。
3.6 配置https打开官方文档配置https一节,执行下面命令编辑/etc/gitlab/gitlab.rb文件:
vim /etc/gitlab/gitlab.rb
把http域名换成https,如下:
external_url \"https://gitlab.example.com\"
编辑完成之后保存并退出,在/etc/gitlab下执行下面命令:
# 创建ssl文件夹mkdir -p /etc/gitlab/ssl# 设置成可读chmod 700 /etc/gitlab/ssl# 把上一步的.zip证书解压并复制到ssl文件夹下unzip /root/your-cert-package.zip# 解压之后应该是两个文件.pem和.key# 注意:要把.pem转换成.crt,执行下面命令进行转换(或者把.pem文件直接把后缀改成.crt)openssl x509 -outform der -in your-cert.pem -out your-cert.crt# 复制.crt和.key文件到ssl目录下cp your-cert.crt your-cert.key /etc/gitlab/ssl/
设置好之后,重启gitlab,执行下面命令:
gitlab-ctl reconfigure
重启之后访问gitlab应该已经是https了。
3.7、配置阿里云服务器邮件推送第一:新建域名,我新建的是system.awbeci.com
第二:DNS解析
第三:解析完成之后,验证通过。
第四:新建发信地址
第五:设置SMTP密码
3.8 配置gitlab相关SMTP属性打开gitlab官方文档设置SMTP一节,还是编辑/etc/gitlab/gitlab.rb文件
按照上面给出的设置设置成你自己刚才在阿里云邮件推送里面的配置,设置好之后重启gitlab:
gitlab-ctl reconfigure
刷新地址,然后我们注册一个用户,看看邮箱是否发送成功,我自己用新的邮箱注册了gitlab之后,到自己注册的邮箱下面看看确实发送成功了。
3.9 禁用GitLab CI/CD修改/etc/gitlab/gitlab.rb文件:
gitlab_rails[\'gitlab_default_projects_features_builds\'] = false
重启下gitlab才能生效,如下:
gitlab-ctl reconfigure
如果你想启用,可以参考下面两篇文章
开始使用GitLab CI/CDgitlab中CI/CD自动化部署使用提醒:如果您使用的是Jenkins或Drone CI等外部CI / CD服务器,建议您禁用GitLab CI / CD,以免与提交状态API发生冲突。
4、使用搭建好的gitlab4.1 本地生成ssh密钥执行下面命令生成,如下:
ssh-keygen -t rsa -C \'your-register-gitlab-email\'
执行完成之后会出现两个文件:id_rsa_awbeci和id_rsa_awbeci.pub
4.2 配置gitlab公钥
把你生成好的id_rsa_awbeci.pub文件内容复制到上面并点击添加。
因为我是多git用户,我使用了如github,gitee等等托管服务器,所以我要配置下.ssh文件夹下的config文件vim /Users/zhangwei/.ssh/config,如果你们不是多用户这步可省略。
# gitlab.awbeci.comHost gitlab-awbeciHostName gitlab.awbeci.comUser your-nameIdentityFile /Users/zhangwei/.ssh/id_rsa_awbeci
配置好之后,执行下面命令:
ssh-add id_rsa_awbeci
注意:如果是Mac用户记得用ssh-add -K id_rsa_awbeci
如果是Windows用户如果执行报错,试试用ssh-agent bash
接着测试试试:
☁ .ssh ssh -T git@gitlab.awbeci.comWelcome to GitLab, @zhangwei!☁ .ssh
到此我们安装和配置gitlab ssh都成功完成,后面就是创建项目,添加代码了,这个就不做详细说明了,不明白的可以到网上百度看看如果使用git文章。
gitlab升级很容易,按照官方文档来操作即可
# 备份sudo gitlab-rake gitlab:backup:create STRATEGY=copy# 升级 注意:不能停止gitlab否则升级失败sudo yum install -y gitlab-ce
注意:
gitlab不能跨大版本升级,如不能直接从12.0.x升级到13.0.x,而应该先从12.0.x升级到最新的12.12.x版本,再升级到13.0x;升级之前最好做个备份,尤其是/etc/gitlab/gitlab.rb文件;升级的时候不要停止gitlab,而是直接升级。6、总结:1)像我配置https和smtp都是参考官网的文档的,所以如果有问题及时到官网找找看
2)我在成功安装好之后浏览gitlab.awbeci.com的时候不是跳转到登录页面而是到设置密码页面,刷新也不行,到现在都不知道怎么回事,是因为chrome的原因吗,我用firefox没这个问题
3)如果ssl证书过期要替换,可以直接上传之后把.pem文件改成.crt后缀重启gitlab
4)gitlab命令:gitlab-ctl status(状态) | tail(查看日志) | restart | start | stop
5)如果你们有什么问题,可以加我QQ群:464696550
Awbeci
Awbeci
2.5k 声望71 粉丝关注作者0 条评论得票时间提交评论Awbeci
Awbeci
2.5k 声望71 粉丝关注作者宣传栏 目录▲产品热门问答热门专栏热门课程最新活动技术圈酷工作移动客户端课程Java 开发课程PHP 开发课程Python 开发课程前端开发课程移动开发课程资源每周精选用户排行榜徽章帮助中心声望与权限社区服务中心合作关于我们广告投放职位发布讲师招募联系我们合作伙伴关注产品技术日志社区运营日志市场运营日志团队日志社区访谈条款服务条款隐私政策下载 AppCopyright © 2011-2021 SegmentFault. 当前呈现版本 21.03.23
浙ICP备15005796号-2浙公网安备33010602002000号ICP 经营许可 浙B2-20201554
杭州堆栈科技有限公司版权所有
本文链接: http://ecstlab1.immuno-online.com/view-696899.html