1、安装依赖包,运行命令
sudo apt-get install curl openssh-server ca-certificates postfix
2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装。
首先信任 GitLab 的 GPG 公钥:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
3、利用root用户[1](不是sudo,而是root),vi打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入下面一行:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
进入连接https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/,根据实际情况选择
安装 gitlab-ce:
sudo apt-get update
sudo apt-get install gitlab-ce
执行如下命令:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl start|stop|status|restart
sudo gitlab-ctl restart postgresql
sudo gitlab-ctl tail
sudo gitlab-ctl tail #查看所有日志
sudo gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志
第一次登陆默认管理员密码和用户名:
Username: root
Password: 5iveL!fe
问题1、navicat连接postghreSQL
设置密码
#切换到可通过Peer方式连接到Postgresql的系统账号,在gitlab中是:gitlab-psql
$ su - gitlab-psql
#连接到gitlab的数据库
$ psql -h /var/opt/gitlab/postgresql -d gitlabhq_production
#使用Postgresql内置的命令设置gitlab用户的密码
$ \password gitlab
#退出
$ \q
设置完毕
修改文件,然后,"gitlab"一定要加双引号,否则database.yml 文件不生效。
sudo gitlab-ctl reconfigure
sudo cat /var/opt/gitlab/gitlab-rails/etc/database.yml
sudo cat /var/opt/gitlab/gitlab-shell/config.yml
用navivat连接数据库,如下配置:
sudo vim /var/opt/gitlab/postgresql/data/pg_hba.conf
host all all 0.0.0.0/0 md5
sudo vim /var/opt/gitlab/postgresql/data/postgresql.conf
listen_addresses = '*' #允许任何的ip地址监听
保存,千万不要 sudo gitlab-ctl reconfigure
然后重启gitlab 。
gitlab-ctl restart
问题2、仓库的位置:
必要时需要对该目录赋予 777 的权限
/var/opt/gitlab/git-data/
更改仓库位置
git_data_dirs({
"default" => {
"path" => "/srv/gitlab/git-data"
}
})
问题3、ssl认证
1、sudo vi /etc/gitlab/gitlab.rb
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "cert/***.pem"
nginx['ssl_certificate_key'] = "cert/***key"
nginx['ssl_ciphers']=
"ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"
nginx['ssl_prefer_server_ciphers'] = "on"
nginx['ssl_session_timeout'] = "5m"
2、sudo mkdir /var/opt/gitlab/nginx/conf/cert
将***.pem,***.key放入cert文件夹
3.
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
问题4、备份
修改gitlab.rb
gitlab_rails['backup_path'] = "/srv/backups"
gitlab_rails['backup_keep_time'] = 604800
备份目录在/srv/backups
有效期为1周
然后
gitlab-ctl reconfigure
修改/etc/crontab,即vi /etc/crontab
0 2 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
m: 表示分钟,可以是从0到59之间的任何整数。
h:表示小时,可以是从0到23之间的任何整数。
dom:表示日期,可以是从1到31之间的任何整数。
mon:表示月份,可以是从1到12之间的任何整数。
dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
user : 表示执行的用户。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)
编写完 /etc/crontab 文件之后,需要重新启动cron服务
#重新加载cron配置文件
sudo /usr/sbin/service cron reload
#重启cron服务
sudo /usr/sbin/service cron restart
执行成功后,。
在/srv/backups会生成1544425210_2018_12_10_10.7.3_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1544425210_2018_12_10_10.7.3
回车,yes一直进行即可