网站的主机选择,建设通是不是官方网站,网站开发时ie11的兼容,编程scratch网站直接RPM安装 部署的方式是#xff1a;使用外部的nginx作为代理#xff0c;使用https方式。
1、下载安装文件
gitlab-ce-17.0.3-ce.0.el7.x86_64.rpm
2、安装 yum install gitlab-ce-17.0.3-ce.0.el7.x86_64.rpm
或者安装yum源在线安装:
添加镜像源#xff1a;新建 /et…直接RPM安装 部署的方式是使用外部的nginx作为代理使用https方式。
1、下载安装文件
gitlab-ce-17.0.3-ce.0.el7.x86_64.rpm
2、安装 yum install gitlab-ce-17.0.3-ce.0.el7.x86_64.rpm
或者安装yum源在线安装:
添加镜像源新建 /etc/yum.repos.d/gitlab-ce.repo内容为 [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabled1
更新下缓存
yum makecache yum install gitlab-ce #安装
3、配置 gitlab的配置 默认安装的配置文件在: /etc/gitlab/gitlab.rb 第一个要修改的是访问地址就是外部访问gitlab的实际地址因为有可能gitlab是部署在k8s集群中或者其他内部环境中而使用要是通过外部ip来访问的这个时候就要配置这个地址了。这个地址也是项目git clone 的地址。 external_url https://47.xxx.xxx.22/gitlab 配置代理授信地址gitlab_rails[trusted_proxies] 是一个配置项用于指定 GitLab 可以信任的代理服务器的 IP 地址或 CIDR 范围。当 GitLab 通过这些代理接收请求时它会信任这些代理提供的客户端信息。可以指定一个ip也可以使一个网段
gitlab_rails[trusted_proxies] [172.xx.218.117,xx.xx.77.22,172.xx.218.117/20] 配置web_server[external_users] [系统用户组]当不使用内部默认的nginx时而使用外部的nginx做web服务器时就要设置用户组意思就是让运行外部的nginx用户组和gitlab内部的应用服务器(是基于ruby的应用服务器类型基于java的tomcat)在一个用户组。 不使用内部的nginx nginx[enable] false 配置完了之后
sudo gitlab-ctl reconfigure #重新加载配制
sudo gitlab-ctl restart #也可以重启下 外部nginx的配置 # 通过代理gitlab内部socket的方式来转发http请求upstream gitlab-workhorse {server unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket; #直接部署的默认路径}server {listen 443 ssl;server_name 47.xxx.77.22; #nginx所在宿主机地址ssl_certificate /root/pki/ca.crt; #证书ssl_certificate_key /root/pki/private.key; # 私钥ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;} location /gitlab {client_max_body_size 0;gzip off;## Some requests take more than 30 seconds.proxy_read_timeout 300;proxy_connect_timeout 300;proxy_redirect off;proxy_http_version 1.1;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_pass http://gitlab-workhorse;}} 4、修改root用户密码 gitlab-rails consoleuUser.where(id:1).firstu.passwordxxxxDev0 #新密码u.password_confirmationxxxxDev0 #确认密码
u.save!gitlab的数据存储
GitLab项目数据分为以下几个部分
Git仓库数据包括源代码提交历史记录等。数据库数据包括用户信息项目信息设置信息等。文件数据包括图片、文档、log等文件。 对于这些数据GitLab采用了不同的方式进行保存下面我们就分别来看。
Git仓库数据 Git仓库数据是GitLab最重要的数据之一它包括了开发人员提交的源代码及相关信息。在GitLab中每个项目都有一个Git仓库Git仓库中的数据会被保存在GitLab服务器中。具体来讲在GitLab运行后相应的Git仓库被保存到GitLab安装目录下的/var/opt/gitlab/git-data/repositories中。在该目录下每个项目都有一个对应的目录该目录下存放着该项目的所有代码及提交历史记录。如果你想备份Git仓库数据可以直接备份对应项目的目录即可。
数据库数据 GitLab的数据库数据包括了用户信息、项目信息、设置信息等。这些数据的保存位置和Git仓库数据不一样。在GitLab运行后这些数据会被保存到GitLab安装目录下的/var/opt/gitlab/postgresql/data目录中。具体来讲该目录下存放着所有的PostgreSQL数据库数据。如果你想备份GitLab的数据库数据可以直接备份整个目录即可。
文件数据 GitLab中除了代码等基本数据外还会有各种文件数据如图片、文档等。这些数据通常不会保存在Git仓库中而是通过GitLab上传并保存到服务器的文件系统中。在GitLab运行后这些文件数据会被保存到GitLab安装目录下的/var/opt/gitlab/gitlab-rails/uploads目录中。在该目录下每个项目都有一个对应的目录该目录下存放着该项目上传的所有文件。如果你想备份GitLab上传的文件数据可以直接备份对应项目的目录即可。
综上所述GitLab生成的项目数据包括Git仓库数据、数据库数据以及文件数据。它们分别保存在GitLab安装目录下的/var/opt/gitlab/git-data/repositories、/var/opt/gitlab/postgresql/data和/var/opt/gitlab/gitlab-rails/uploads中。如果你想备份GitLab项目数据需要备份上述三个目录。
Docker安装
1、下载镜像 docker pull gitlab/gitlab-ce:17.3.1-ce.0
docker run --detach \ --hostname 172.30.218.116 \ --publish 443:443 --publish 8899:22\ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:13.7.0-ce.0