资讯专栏INFORMATION COLUMN

《CI/CD+DevOps》持续集成之gitlab

Honwhy / 2254人阅读

摘要:功能是一个提供代码托管提交审核和问题跟踪的代码管理平台。的服务构成静态服务器。用于在后台执行队列任务异步执行。将这一行中的字符串替换成你自己的地址。

先来BB下关于GitLab的课前知识

git的优点

git是分布式的,svn不是
git分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看log。
GIT分支和SVN的分支不同
分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。
git有一个强大的代码仓库管理系统 - gitlab
可以很方便的管理权限、代码review,创建、管理project

GitLab介绍

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。
功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。
版本:GitLab 分为社区版(CE) 和企业版(EE)。
配置:建议CPU2核,内存2G以上。

Gitlab的服务构成:

Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表。(Ruby)
gitlab-workhorse: 轻量级的反向代理服务器。(go)
logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)
参考资料:https://www.jianshu.com/p/b04...

gitlab官方安装:https://about.gitlab.com/install/
gitlab清华大学镜像:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
开始安装
https://packages.gitlab.com/gitlab/gitlab-ce/install

按照上边连接地址给出的各种安装方法选择合适的方式进行安装,这里选择rpm安装

执行命令: curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
说明一下,官网提供的是gitlab-ee版本(企业版)的在线安装,本博客这里提供的是gitlab-ce版本(社区版)的在线安装,社区版是免费的。

通过上面的方式访问的是国外的gitlab仓库站点,如果速度慢的话,就是用下面国内的站点,都一样。

curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash yum install gitlab-ce
启动gitlab

在安装完gitlab后,启动之前,先做一个基本配置,如果安装成功的话,在/etc/gitlab/目录下会有一个gitlab.rb文件,使用vim打开它。

vim /etc/gitlab/gitlab.rb

external_url "http://ip_address"这一行中的ip_address字符串替换成你自己的ip地址。然后重新编译配置。

gitlab-ctl reconfigure

注意:执行 reconfigure 命令会把gitlab的nginx组件的配置还原,导致自定义修改的端口以及域名等都没有了。

至于其他配置,比如邮箱啊,端口啊(gitlab默认使用80端口),开启的进程数,访问超时时间之类的配置请参看官方文档,这里就不做详细介绍了。

GitLab常用命令

sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;

常用目录

日志地址:/var/log/gitlab/ # 对应各服务的打印日志
服务地址:/var/opt/gitlab/ # 对应各服务的主目录

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74559.html

相关文章

  • CI/CD+DevOps持续集成gitlab访问502问题总结

    摘要:继续查资料学习,发现的普罗米修斯监控的默认端口为,所以访问页面之后会跳转到普罗米修斯的页面想了解学习的朋友可以点这里到官网查看学习。 在安装配置好gitlab之后访问配置好的路径页面提示502 导致502的原因有两个: 1.端口被占用 gitlab的nginx默认监听的端口为80如果有其他程序占用了该端口的话则会提示502解决方法: vi /etc/gitlab/gitlab.rb ...

    JessYanCoding 评论0 收藏0
  • CI Weekly #6 | 再谈 Docker / CI / CD 实践经验

    摘要:阿里云效平台基于理念的私有平台实践本文将系统的从个方面,分享互娱运维团队对于运维平台实践经验及未来展望,希望对大家有一些参考意义。 CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成、持续交付,持续部署、自动化测试、 DevOps 等实践教程、工具与资源,以及一些工程师文化相关的程序员 Tips 。同步于 flow.ci Blog、微信公众号、官...

    justCoding 评论0 收藏0
  • CI Weekly #19 | 关于软件开发模型的思考,以及最新 CI/CD 实践分享

    摘要:以上是的所有技术分享,如有问题,请联系我们围绕软件工程效率提升进行一系列技术内容分享,包括国内外持续集成持续交付,持续部署自动化测试等实践教程工具与资源,以及一些工程师文化相关的程序员。 五月一来,夏天便悄然而至。flow.ci 也带来了几个新的变化,帮你进一步优化开发工作流。一起来看看这几个重点功能: 支持 iOS 项目 Xcode8.3 构建 iOSer 们重点来了,flow....

    CoderBear 评论0 收藏0
  • GitLab Auto DevOps功能与Kubernetes集成教程

    摘要:从开始,部署管理的集群时,默认情况下会启用授权群集端点功能。我们将首先在中创建一个新项目,该项目将使用功能与我们的集群集成。完成后单击创建项目。这不仅意味着已被设为默认值,还能够触发构建。例如,负载均衡选项卡显示已部署的以及创建的主机名。 介 绍 在这篇文章中,我们将介绍如何将GitLab的Auto DevOps功能与Rancher管理的Kubernetes集群连接起来,利用Ranch...

    GraphQuery 评论0 收藏0
  • 超长干货:基于Docker的DevOps CI/CD实践——来自iHealth的分享

    摘要:在猫屎氤氲的雾气里角仰望天花板,手机微信提醒这次构建成功或失败,并附带污言秽语。这时他可以开始往工位走,坐下时,微信又会提醒本次部署到成功或失败。与企业微信的集成在决定使用之前,需要知道的是,是一个高度依赖社区的项目。 前言 相信我,一切事情的发生都是赶鸭子上架,没有例外。人类所有伟大的变革都是迫不得已,可又是那么顺其自然。比如容器(docker)技术的诞生,比如箭在弦上的创业,比如野...

    Dongjie_Liu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<