ECS 服务器安装GITLAB工作流程

在ECS服务器上部署GITLAB,有很多文章,但是一路走下来,还是很多坑坑洼洼的经历,因此把大的工作流程记录下来。如果里面的细节不清楚,随便在论坛上都能找到对应部分的帖子。

一、LINUX Ubuntu非docker安装

1.ECS上安装Ubuntu

因为比较吃内存,选了2vCPU/4GB/40GB,另外加了一个云盘放仓库数据

2.安装 apt 和邮件发送服务 postfix

sudo apt update
sudo apt install ca-certificates curl openssh-server postfix

3.下载及安装gitlab-ce

3.1 在线下载安装方法

sudo apt install gitlab-ce

3.2 离线下载安装方法

apt install wget
sudo wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/gitlab-ce_14.9.4-ce.0_amd64.deb
apt -i gitlab-ce_14.9.4-ce.0_amd64.deb

#写文章时最新是gitlab-ce 14.9,反正在合适的仓库里找合适的版本即可

4. 修改gitlab.rb配置

4.1 修改网址

external_url 'https://ip.ip.ip.ip'  
gitlab_rails['gitlab_ssh_host'] = 'ip.ip.ip.ip'

注意,这里如果改成https,就是要调整下面的nginx,否则默认使用http亦可

4.2 调整邮件设置,激活相关语句

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "*****@qq.com" #发件的邮箱账号
gitlab_rails['smtp_password'] = "@#¥@!%#@¥!%¥!" #从qq邮箱拿到的smtpSSL发信授权码
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['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'] = 'peer'  
#这个一定要打开,不允许使用25端口了,必须通过SSL验证,互联网业务的进步

#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'] = '*****@qq.com'  #这个要求和前面的账号一样
gitlab_rails['gitlab_email_display_name'] = 'Gitlab Administor'
gitlab_rails['gitlab_email_reply_to'] = '*****@qq.com' #这个也是

4.3 调整默认仓库路径:


git_data_dirs({
   "default" => {
     "path" => "/datadisk/gitrepo"
    }
 })

4.4 如果要启动https,修改:

nginx['redirect_http_to_https'] = true

附件相关几句也要去掉注释,激活运行

5. 重配置,重启

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restar

6. 初次登录

第一次重配置、重启以后,初次登录,获取root密码。

cat /etc/gitlab/initial_root_password #查看root密码,用它登录

7. 配置服务器虚拟内存文件交换区

#使用dd命令创建一个swap交换文件,4G大小为例,命名为swap。
dd if=/dev/zero of=/mnt/swap bs=1M count=4096
#制作为swap格式文件
mkswap /mnt/swap
#用swapon命令将该文件挂载swap分区
swapon /mnt/swap

为了防止重启后,swap分区变成0, 需要修改/etc/fstab文件

vim /etc/fstab

在文件最后一行加上

/mnt/swap swap swap default 0 0

8. 外部内存交换激活配置

swapness设置swap起作用的阈值,例如内存低于30%

echo "vm.swappiness=70" >> /etc/sysctl.conf

二、docker安装

docker安装网上讨论非常多,这里不赘述。主要是gitlab的路径,需要把三个主要的目录,尤其是放数据的/var/opt/gitlab映射出来。

export GITLAB_HOME=/datadisk/docker/gitlab

  docker run -d  -p 9443:443 -p 9080:80 -p 9022:22 --name gitlab --restart always -v $GITLAB_HOME/config:/etc/gitlab -v $GITLAB_HOME/log:/var/log/gitlab -v $GITLAB_HOME/data:/var/opt/gitlab gitlab/gitlab-ce

其它关于gitlab.rb的设置问题,和前文类似。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值