gitlab的部署

木木1年前技术文章530

一、GitLab简介

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。

gitlab主要用于私用,github主要用于公网,都可看成web版的git

Community Edition or Enterprise Edition,ce和ee分别指的是社区版和企业版,毫无疑问社区版已经能满足我们的需求了。

常用的网站

官网 : https://about.gitlab.com/

https://packages.gitlab.com/gitlab/gitlab-ce CE版下载地址

https://packages.gitlab.com/gitlab/gitlab-ee EE版下载地址

国内镜像 :https://mirrors.tuna.tsinghua.edu.cn/gitlab‐ce/yum/

image20200407140627737.png

image20200407140745198.png

二、安装与配置

  • 环境:CentOS 8

  • 关闭selinux和防火墙

2.1、 安装依赖包

dnf install -y curl policycoreutils openssh-server postfixsystemctl enable sshdsystemctl start sshdsystemctl enable postfixsystemctl start postfix

2.2、 联网安装

[root@zutuanxue ~]# vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1[root@zutuanxue ~]# dnf install gitlab-ce -y(如果安装比较慢的话也可以从https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/下载rpm包到本地进行安装[root@zutuanxue ~]# yum localinstall gitlab-ce-12.9.2-ce.0.el8.x86_64.rpm )

2.3、配置

[root@zutuanxue ~]# vim /etc/gitlab/gitlab.rb external_url 'http://192.168.2.100'#修改为本机的名称或者IP地址###(GitLab默认会占用80、8080和9090端口,如果服务器上还有tomcat、Jenkins等其他服务,可能会遇到端口冲突,如果想修改端口的话可以external_url 'http://192.168.2.100:自定义端口'unicorn['port'] = xxxprometheus['listen_address'] = 'localhost:xxx'将xxx更换成自己需要使用的端口###)[root@zutuanxue ~]# gitlab-ctl reconfigure#修改完成之后重新配置gitlab

命令和目录

/opt/gitlab/ # gitlab的程序安装目录

/var/opt/gitlab # gitlab数据目录

/var/opt/gitlab/git‐data # 存放仓库数据

命令function
start启动所有服务
stop关闭所有服务
restart重启所有服务
status查看所有服务状态
tail查看日志信息
service-list查看所有启动服务
graceful-kill平稳停止一个服务
help帮助
reconfigure修改配置文件之后,重新加载
show-config查看所有服务配置文件信息
uninstall卸载这个软件
cleanse清空gitlab数据
[root@zutuanxue ~]# gitlab-ctl startok: run: alertmanager: (pid 1564) 3804sok: run: gitaly: (pid 1550) 3804s[root@zutuanxue ~]# gitlab-ctl start nginxok: run: nginx: (pid 1531) 3823s#这些操作指令,如果不指定名称的话,默认会操作所有

Gitlab的服务构成

[root@zutuanxue ~]# gitlab-ctl service-listgitaly* git RPC服务,用于处理gitlab发出的git调用gitlab-workhorse* 轻量级的反向代理服务器logrotate* 日志文件管理工具nginx* 静态web服务postgresql* 数据库redis* 缓存数据库sidekiq* 用于在后台执行队列任务unicorn* 用Ruby编写的web server,GitLab Rails应用是托管在这个服务器上面alertmanager*,gitlab-exporter*,grafana*,node-exporter*,postgres-exporter*,prometheus*,redis-exporter* #与监控相关的插件

在浏览器中访问本机,就可以打开登录界面,初次登录必须修改密码(不能少于8位),更改完成后可以使用管理员账号登录,用户名为root

2.4、gitlab汉化

1、浏览器设置中文后重新打开

2、点击右上角头像,选择设置(settings)

3、左边选择preferences–>languages—>save

4、刷新页面

如果还是有问题

[root@zutuanxue ~]# dnf groupinstall chinese-support#安装中文支持[root@zutuanxue ~]# dnf install ibus* #安装输入法#重启后在系统设置更改语言环境为中文

image20200407163323541.png


相关文章

开源大数据集群部署(二十)Trino部署

开源大数据集群部署(二十)Trino部署

2.9.1 解压trino的包到opt目录cd /root/bigdata tar -xzvf trino-server-389.tar.gz -C /opt/ ln -s /opt/trino-...

Flume使用案例之Flume与Flume之间数据传递(单Flume多Channel、Sink)

目标:使用flume1监控文件变动,flume1将变动内容传递给flume-2,flume-2负责存储到HDFS。同时flume1将变动内容传递给flume-3,flume-3负责输出到local分步...

lru_cache 缓存

Python 语法: @functools.lru_cache(maxsize=128, typed=False)Least-recently-used 装饰器。Iru 最近最少使用、cache 缓存...

MySQL 组复制一致性保证

MySQL 组复制一致性保证

说明本篇文章介绍,MySQL 组复制作为一个分布式系统,如何保证事务一致性?1. 一致性级别MySQL 8.0.14 版本开始,提供组复制变量:group_replication_consistenc...

CDH-Kafka节点迁移

CDH-Kafka节点迁移

1、节点迁移先添加节点,将需要换掉的节点关闭,等待选举leader启动新添加的节点关闭旧的节点等待选举leader出现离线分区。需要将分区分配到新的节点2、重分配分区kafak kerberos环境下...

greenplum扩容

一、纵向扩展1、执行命令,生成参数文件[gpadmin@gw_mdw1 ~]$ gpexpand -f seg_hosts -D test 20190327:23:18:01:007122 gpex...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。