一、下载并安装 gitlab
安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce rpm 包国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/ ubuntu 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/
cd /apps
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/gitlab-ce_13.12.4-ce.0_amd64.deb
dpkg -i gitlab-ce_13.12.4-ce.0_amd64.deb
二、修改 gitlab 配置文件并初始化 gitlab
vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.31'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "891506240@qq.com"
gitlab_rails['smtp_password'] = "ublihkwaxcaibebf"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "891506240@qq.com"
user["git_user_email"] = "891506240@qq.com"
gitlab-ctl reconfigure
初始化完成 gitlab 相关的目录
/etc/gitlab
/run/gitlab
/opt/gitlab
/var/opt/gitlab
/var/log/gitlab
三、验证端口80是否开启,并登录 gitlab web 界面
root@ubuntu1804:/apps
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 47523 root 7u IPv4 126089 0t0 TCP *:http (LISTEN)
nginx 47524 gitlab-www 7u IPv4 126089 0t0 TCP *:http (LISTEN)
nginx 47525 gitlab-www 7u IPv4 126089 0t0 TCP *:http (LISTEN)
user:root passwd:12345678
四、gitlab web 界面设置中文
五、gitlab 常用命令
gitlab-ctl 服务相关命令行操作行
gitlab-ctl stop
gitlab-ctl start
gitlab-ctl restar
gitlab-ctl status
gitlab-ctl tail nginx
gitlab-ctl --help
gitlab-rails 用于启动控制台进行特殊操作,比如修改管理员密码、打开数据库控制台( gitlab-rails dbconsole)等
gitlab-rails dbconsole
gitlab-psql 数据库命令行
root@s1:~
gitlabhq_production=
gitlab-rake 数据备份恢复等数据操作
六、关闭账号注册功能
七、解决邮箱注册失败,实现事件触发
八、创建账户 Users
Users-账号,针对的是开发或者使用gitlab的用户(人员) Groups-组、业务,针对的是公司里面的一个业务 Projects-项目、服务,针对是一个业务中的多个服务 此时账号还没有密码,需要登录邮箱去设置密码 或者 在gitlab的编辑上也可以更改密码 user:lck passwd:12345678
九、重新设置密码
通过邮件重置用户密码
十、创建组 Groups
已成功创建组
十一、将用户添加到组
十二、创建一个测试项目页面
登陆账号 laomao 密码 12345678 创建一个空的project 填写项目路径,项目名称 在Linux上输入以下命令或者点击“New file”也是可以的 点击“New file”,创建文件名为 .gitignore 再点击“New file”,创建文件名为 index.html
十三、git 客户端测试 clone 项目
root@ubuntu1804:~
root@ubuntu1804:~
root@ubuntu1804:~
十四、客户端编辑文件并测试提交
root@ubuntu1804:~
root@ubuntu1804:~/app1
<h1>v111</h1>
<h1>v222</h1>
root@ubuntu1804:~/app1
root@ubuntu1804:~/app1
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: index.html
root@ubuntu1804:~/app1
[master 1b55c84] v2 version
1 file changed, 1 insertion(+)
root@ubuntu1804:~/app1
Username for 'http://10.0.0.31': laomao
Password for 'http://laomao@10.0.0.31':
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes | 290.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://10.0.0.31/lcklck/app1.git
9ac013b..1b55c84 master -> master
推送完成之后,去仓库查看文件是否变更
十五、Windows客户端、凭据管理
URL:http://git-scm.com/ 打开 git-bash 程序 第一次push文件会记住密码,保存在 控制面板—>凭据管理器—>windows凭据—> 普通凭据 如果gitlab账号密码更改,需要在凭据里面删除
十六、gitlab 使用
16.1 数据保方式
SVN 与 CVS:每次提交的文件都单独保存,即按照文件的提交时间区分不同的版本,保存至不同 的逻辑存储区域,后期恢复的时候直接基于之前版本恢复。 Gitlab: Gitlab 与 SVN 的数据保存方式不一样,gitlab 虽然也会在内部对数据进行逻辑划分保存,但是当后期提交的数据如果和之前提交过的数据没有变化,其就直接快照之前的 文件,而不是在将文件重新上传一份在保存一遍,这样既节省了空间又加快了代码提 交速度。
16.2 git 缓存区与工作区等概念
工作区:clone 的代码或者开发自己编写的代码文件所在的目录,通常是代码所在的一 个服务的目录名称。 暂存区:用于存储在工作区中对代码进行修改后的文件所保存的地方,使用 git add 添 加。 本地仓库:用于提交存储在工作区和暂存区中改过的文件地方,使用 git commit 提交。 远程仓库:多个开发共同协作提交代码的仓库,即 gitlab 服务器。
16.3 常用 git 命令
git config --global user.name “name“
git config --global user.email xxx@xx.com
git config --global --list
git add index.html / .
git commit -m “11“
git status
git push
git pull
git log
vim .gitignore
git reset --hard HEAD^^
git reflog
git reset --hard 5ae4b06
git branch
git checkout -b develop
git checkout develop
十七、gitlab 数据备份恢复
17.1 停止 gitlab 数据服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
17.2 手动备份数据
gitlab-rake gitlab:backup:create
gitlab-ctl start
17.3 查看要恢复的文件
/var/opt/gitlab/backups/ # Gitlab 数据备份目录,需要使用命令备份的 /var/opt/gitlab/nginx/conf #nginx 配置文件 /etc/gitlab/gitlab.rb #gitlab 配置文件 /etc/gitlab/gitlab-secrets.json #key 文件
ll /var/opt/gitlab/backups/
total 408
drwx------ 4 git root 4096 Jul 17 10:42 ./
drwxr-xr-x 20 root root 4096 Jul 17 10:11 ../
-rw------- 1 git git 92160 Jul 17 10:20 1563330030_2019_07_17_11.11.5_gitlab_backup.tar
-rw------- 1 git git 92160 Jul 17 10:23 1563330216_2019_07_17_11.11.5_gitlab_backup.tar
-rw------- 1 git git 92160 Jul 17 10:30 1563330647_2019_07_17_11.11.5_gitlab_backup.tar
-rw------- 1 git git 92160 Jul 17 10:32 1563330751_2019_07_17_11.11.5_gitlab_backup.tar
17.4 执行恢复
删除一些数据,测试能否恢复
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=备份文件名
确认恢复数据
17.5 启动服务
gitlab-ctl start sidekiq
gitlab-ctl start unicorn
十八、gitlab 汉化
18.1 下载语言包替换
https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz
https://gitlab.com/xhang/gitlab/-/archive/v11.11.5-zh/gitlab-v11.11.5-zh.tar
https://gitlab.com/xhang/gitlab/-/archive/v11.9.8-zh/gitlab-v11.9.8-zh.tar
https://gitlab.com/xhang/gitlab
vim /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure
gitlab-ctl stop
tar xvf gitlab-vX.Y.Z-zh.tar
cp -rp /opt/gitlab/embedded/service/gitlab-rails /opt/gitlab-rails.bak
cp -rf gitlab-vX.Y.Z-zh/* /opt/gitlab/embedded/service/gitlab-rails/
gitlab-ctl reconfigure
gitlab-ctl start
Web 界面更改语言
18.2 通过源码汉化
汉化包地址:https://gitlab.com/xhang/gitlab
gitlab-ctl stop
git clone https://gitlab.com/xhang/gitlab.git
head -1 /opt/gitlab/version-manifest.txt
cd gitlab
git diff v11.9.8 v11.9.8-zh
git diff v12.3.5 v12.3.5-zh
git diff v11.9.8 v11.9.8-zh > /root/v11.9.8-zh.diff
gitlab-ctl stop
patch -f -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /root/v11.9.8-zh.diff
gitlab-ctl reconfigure
gitlab-ctl start
v11.11.8 汉化效果 v.12.2.8 汉化效果 V12.3.5:汉化效果
|