手动部署

ps:主机内存4g+

依赖安装:

yum install -y curl openssh-server postfix wget

中文插件最新版本查看
tuna下载链接:yum install -y https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm

修改配置文件/初始化

  1. curl ifconfig.io
  2. vim +13 /etc/gitlab/gitlab.rb
  3. gitlab-cli reconfigure
  4. # 使用
  5. gitlab-ctl status
  6. # gitlab-ctl stop
  7. # gitlab-ctl restart
  8. # gitlab-ctl tail
  9. #ll /var/log/gitlab/nginx/current # nginx日志所在地
  10. # ll /var/opt/gitlab # 配置文件所在地
  11. gitlab-ctl start

中文化

wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz
tar xf gitlab-12-3-stable-zh.tar.gz
gitlab-ctl stop

alias cp='cp' && cp -rf gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/

gitlab-ctl reconfigure
gitlab-ctl start # 写入rc.local

# 设置中修改中文

创建用户
访问页面,用户名是root
创建用户—>组—>项目绑定组
ssh认证(可以根据项目认证,可以根据用户认证),push代码测试…

备份:官方文档

vim /etc/gitlab/gitlab.rb

# gitlab_rails的四行注释打开

gitlab-ctl reconfigure 
gitlab-ctl  restart
vim /server/scripts/backup-gitlab.sh

#1.备份gitlab数据,旧版本命令可能不同,详见p88
gitlab-backup create    
#2.备份gitlab配置和密码文件
tar zcf /backup/gitlab/gitlab-conf-$(date +%F).tar.gz /etc/gitlab/

#写入定时任务
00 03 * * * sh /server/scripts/backup-gitlab.sh &>/dev/null

恢复/升级/HTPPS/优化/配置邮箱

p88

一键式方案: 无备份、优化

#                              撬棍用于对$转义
# sed -rni "13 s#^(external_url )('.*')\$#\1'http://$url'# p" /etc/gitlab/gitlab.rb &&\

# url等号后面的命令可以替换成自己的网站名
url=`curl ipconfig.io` &&\
yum install  -y curl openssh-server postfix  wget &&\
yum install -y https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm || echo 1 &&\
sed -ri.bak "13s#^(external_url )('.*')\$#\1'http://$url'#" /etc/gitlab/gitlab.rb &&\
gitlab-ctl reconfigure &&\
wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz &&\
tar xf gitlab-12-3-stable-zh.tar.gz && echo `alias cp='cp'` &&\
cp -rf gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/ || echo 1 &&\
gitlab-ctl reconfigure &&\
gitlab-ctl start

# 利用了无论前面返回正确或错误 || 后面&&内容都能执行的特性 \
# 如果前面是错误,则执行echo 1 并执行&&,如果前面是正确,则不执行echo 1 执行&&
# 不知道为什么始终无法运行临时别名,并不是因为返回了错误,所以造了一个临时空间echo ``来运行

补充

主程序员和开发者的区别 开发者只能上传分支,不能