gitlab,gitlab设置为中文
本文目录:
- 1、<"http://#Gitlab%20%E6%97%A5%E5%BF%97%E6%9F%A5%E7%9C%8B" title="Gitlab 日志查看" "">Gitlab 日志查看
- 2、<"http://#gitlab%20%E6%9D%83%E9%99%90%E5%92%8C%E8%A7%92%E8%89%B2%E7%9A%84%E8%A7%A3%E9%87%8A" title="gitlab 权限和角色的解释" "">gitlab 权限和角色的解释
- 3、<"http://#%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BE%88%E5%A4%9A%E4%BA%BA%E9%80%89%E6%8B%A9%E7%94%A8GitLab%EF%BC%9F" title="为什么很多人选择用GitLab?" "">为什么很多人选择用GitLab?
- 4、<"http://#GitLab%20%E8%BF%9C%E7%A8%8B%20%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD" title="GitLab 远程 定时备份" "">GitLab 远程 定时备份
Gitlab 日志查看
我们可以用gitlab-ctl tail 命令查看实时log。
Runit-managed是一个跨平台的用来取代Linux系统默认的服务控制的一个init系统, 想要了解更多知识,请自行搜索runit及sysvinit的相关信息。
omnibus-gitlab生成logs用的Runit-managed服务是svlogd, 关于svlogd的详细介绍, 请查看svlogd documentation。
修改/etc/gitlab/gitlab.rb文件里面如下参数可以自定义svlogd:
Omnibus-gitlab从7.4版本开始内置了logrotate服务。 这个服务用来切割、 压缩并最终删除已不受Runit服务(即上节里面的svlogd)控制的日志文件, 如gitlab-rails/production.log、nginx/gitlab_access.log。 你可以根据需求修改/etc/gitlab/gitlab.rb中logrotate的参数。
UDP log shipping (GitLab Enterprise Edition only)
Omnibus-gitlab企业版可以配置使用UDP传输syslog-ish日志信息。
log messages实例:
Nginx的access日志默认使用'combined'格式化日志, 查看nginx日志格式。 如果你想用自定义日志的格式, 修改/etc/gitlab/gitlab.rb 文件如下的参数:
gitlab 权限和角色的解释
gitlab 访问权限 - Visibility Level
这个是在建立项目时就需要选定的,主要用于决定哪些人可以访问此项目,包含3种
Private - 私有,只有属于该项目成员才有原先查看
Internal - 内部,用个Gitlab账号的人都可以clone
Public - 公开,任何人可以clone
行为权限:
在满足行为权限之前,必须具备访问权限(如果没有访问权限,那就无所谓行为权限了),
行为权限是指对该项目进行某些操作,比如提交、创建问题、创建新分支、删除分支、创建标签、删除标签等角色
Gitlab定义了以下几个角色:
Guest - 访客
Reporter - 报告者; 可以理解为测试员、产品经理等,一般负责提交issue等
Developer - 开发者; 负责开发
Master - 主人; 一般是组长,负责对Master分支进行维护
Owner - 拥有者; 一般是项目经理
为什么很多人选择用GitLab?
因为极狐GitLab既有速度又有效率,也可信,是专为中国用户设计的一站式DevOps平台,能兼容中国用户习惯和存储方案。极狐GitLab通过提供一体化的CI/CD、源
GitLab 远程 定时备份
一、环境准备
1.gitlab所在的服务器A(centos7,192.168.1.1)
2.备份服务器B(centos7,192.168.1.2)
3.gitlab本地备份目录设置为/var/opt/gitlab/backups/log,本篇也是以此展开
gitlab已经配置了本地备份。如果没有配置,可以参考 。
二、通过密钥配对取消scp传输密码的限制
手动备份数据费时费力。最好的方法就是通过脚本实现远程自动备份。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。
为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用 rsync,scp,rexec等命令来做的远程备份了。
2.1 生成密钥对
假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码。那我们可按照下面的步骤来做:
** 1)在gitlab服务器A上生成rsa证书 **
1、生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。
2、因为之前已经有/root/.ssh/id_rsa 文件存在,因此提示你是否覆盖,输入y表示覆盖
3、接着会提示输入一个密码,直接回车,让它空着。当然,也可以输入一个密码。
4、接着输入确认密码,输入完之后,回车密钥对就生成完了。
这样,在/root/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,其中公共密钥保存在 /root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。
** 2)在gitlab服务器A上cp生成rsa公钥证书 **
在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A,以便拷贝到远程服务器B。
2.2 生成rsa公钥证书上传到备份服务器B
先在服务器B上创建目录/root/.ssh。
使用scp命令进行远程复制,将服务器A生成的id_rsa.pub.A拷贝到服务器B的/root/.ssh目录下。
此时使用scp命令需要输入密码,当把下面的“2.3 密钥配对”执行后,以后gitlab服务器A使用scp命令复制文件到备份服务器B的话,就不需要输入密码了。
2.3 密钥配对
1)创建authorized_keys文件
在备份服务器B的/root/.ssh下创建authorized_keys文件。
2)将id_rsa.pub.A文件内容追加到authorized_keys 文件中
通过 cat 命令 把id_rsa.pub.A 追写到 authorized_keys 文件中。
3)修改authorized_keys文件的权限
authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的。
4)测试上传文件是否还要输入密码
不放心的话,立刻测试下gitlab服务器A使用scp命令复制文件到备份服务器B是否还要输入密码。
发现在2.3之前,由于没有设置ssh证书授权认证时,上传需要输入密码;2.3操作完后,由于授权认证,已经不需要输入密码了。
三、定时将备份文件传到备份服务器
3.1 创建远程备份脚本
在gitlab服务器A上 ,在/root目录下创建定期备份脚本auto_backup_to_remote.sh。
添加下面的内容,并wq保存。
3.2 修改远程备份脚本auto_backup_to_remote.sh的权限
要能让系统执行 auto_backup_to_remote.sh ,必须修改该脚本的权限。
3.3 创建日志存放目录
3.4 测试远程备份脚本的功能是否可用
现在为了验证脚本是否可以正常运行,我们需要手动执行脚本。
在gitlab服务器A上执行find命令,看是否能够正常查找出我们要scp到远程服务器的Gitlab备份文件。
手动执行脚本auto_backup_to_remote.sh,看是否能够正常上传
等待1-2分钟左右,查看备份服务器B的目录/root/gitlab_backup下是否有服务器A传过来的备份文件。
在备份服务器B上能找到服务器A传过来的备份文件,说明远程备份脚本的功能OK。
如果每次上传都通过人工运行脚本的方式,人工的消耗太大,接着配置定时执行该脚本。
3.5 添加定时计划
定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。
一般添加定时计划可以有2种方式:
1.使用命令crontab -e,将定时任务添加后保存。
2.将定时任务添加到/etc/crontab文件中。
我这里采取第一种,使用crontab -e。
结合我之前对公司gitlab本地备份的设计,故设计在备份完10分钟后上传,故分别在每天12:10、19:10进行备份,故添加下面的内容,wq保存。
重启crontab
四、定时删除备份服务器上的备份文件
每个Gitlab备份文件都很大。因此每天备份两次,过不了多久的话,备份服务器B上的磁盘空间可能就会被Gitlab备份文件占用完。
故需要定期清理备份文件,参考备份服务器的空间,暂定保留14天的备份文件。
4.1 创建删除过期备份文件的脚本
设计备份服务器B的/root/gitlab_backup作为接收远程上传备份文件的目录, 故在备份服务器B上 ,先创建该目录。
创建删除过期备份文件的脚本auto_remove_old_backup.sh。
添加下面的内容,并wq保存。
4.2 修改auto_remove_old_backup.sh脚本的权限
4.3 添加定时计划
定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。
一般添加定时计划可以有2种方式:
1.使用命令crontab -e,将定时任务添加后保存。
2.将定时任务添加到/etc/crontab文件中。
我这里采取第一种,使用crontab -e。
设计凌晨0点执行删除过期备份文件的脚本,故添加下面的内容,wq保存。
重启crontab
【gitlab】内容来源于网络,若引用不当、侵权,请联系我们修正或者删除!
版权声明
本文仅代表作者观点,不代表米安网络立场。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。