# 下载 wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_14.7.5-ce.0_amd64.deb/download.deb
官网:
安装:dpkg -i gitlab-ce_14.7.5-ce.0_amd64.deb
配置: /etc/gitlab/gitlab.rb
external_url 'http://gitlab.***.com'
gitlab-ctl reconfigure
访问:http://gitlab.***.com
配置邮件:
SMTP settings | GitLabDocumentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.https://docs.gitlab.com/omnibus/settings/smtp.html/etc/gitlab/gitlab.rb
### GitLab email server settings ###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html ###! **Use smtp instead of sendmail/postfix.** gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "593291641@qq.com" gitlab_rails['smtp_password'] = "rwqulkzudnjmbdba" 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['smtp_pool'] = true ###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'** ###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html # gitlab_rails['smtp_openssl_verify_mode'] = 'none' # gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs" # gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt" ### Email Settings gitlab_rails['gitlab_email_enabled'] = true ##! If your SMTP server does not like the default 'From: gitlab@gitlab.example.com' ##! can change the 'From' with this setting. gitlab_rails['gitlab_email_from'] = '593291641@qq.com'
Using encrypted credentials:
sudo gitlab-rake gitlab:smtp:secret:edit EDITOR=vim user_name: 'smtp user' password: 'smtp password'
sudo gitlab-ctl reconfigure
测试邮件:
gitlab-rails console
Notify.test_email('footstep9612@163.com', 'Message Subject', 'Message Body').deliver_now
GitLab-ce(社区版)是一个开源分布式版本控制系统;开发语言:Ruby;功能:管理项目源代码,版本控制,代码复用与查找;
GitLab主要服务组成:
nginx:web服务:处理http访问请求;
GItlab-workhorse:轻量级的反向代理服务器(处理较大的文件上传下载及git push等操作);
Gitlab-shell:处理Git命令和修改存放authorized keys列表;
Logrotate:日志文件(切割,打包)管理;
Postgresql:数据库;
Redis:缓存服务器;
------------------------------------------------------------------------
清华大学开源软件镜像站 | Tsinghua Open Source Mirror
Git强大的代码仓库管理系统
GitLab
可以很方便的管理权限、代码review,创建、管理project
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编写)
yum安装
新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo,内容为:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
安装依赖
sudo yum install curl openssh-server openssh-clients postfix cronie policycoreutils
sudo service postfix start(邮件服务)
sudo chkconfig postfix on
#这句是用来做防火墙的,避免用户通过ssh方式和http来访问。
sudo lokkit -s http -s ssh
执行
sudo yum makecache
#安装将http://gitlab.example.com改为你需要绑定的域名
EXTERNAL_URL="http://192.168.24.218" yum install -y gitlab-ce )(1-1)
==============================
#安装,再更改配置 ( sudo yum install gitlab-ce)(2-2)
sudo gitlab-ctl reconfigure #Configure and start GitLab
访问:
#首次访问在界面中修改密码-(root)登录
修改密码
gitlab-rails console production
user = User.where(id:1).first
user.password=12345678
user.save!
#访问在界面中新密码登录
=======================================================================================
GitLab配置文件(邮件)修改(vim /etc/gitlab/gitlab.rb)
#外部访问url(经过编译后,自动将这个配置编译到nginx配置,nginx就无需配置了)
external_url 'http://192.168.**.**
配置生效
#使配置生效
gitlab-ctl reconfigure
#重新启动GitLab
gitlab-ctl restart
操作命令
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
vim /etc/gitlab/gitlab.rb # 修改gitlab配置文件;
gitlab-ctl reconfigure # 重新编译gitlab的配置;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
gitlab-ctl tail # 查看日志; gitlab-ctl tail nginx/gitlab_access.log
目录
日志地址:/var/log/gitlab/ # 对应各服务的打印日志
服务地址:/var/opt/gitlab/ # 对应各服务的主目录
查看gitlab版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
项目路径(root创建project项目)
/var/opt/gitlab/git-data/repositories/root/project.git