<p id="0SRVHE8L">最近访问自己的Gitee开源仓库时候,需要手动提交审核,并且同意gitee.com的条款,好在审核1-2小时就审核通过了,但还是有些膈应。Github也是经常性抽风,不如就自己搭建gitlab的仓库,没有条条框框的限制。</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2Fa4008491j00rc7kkv0040d200u000cqg00it007z.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p id="0SRVHE8N">同意条款:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2Ff26eb028j00rc7kkw001hd200jr00aag00it009s.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p>什么是Gitlab</p><p id="0SRVHE8Q">GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2F8a546473j00rc7kkx001ed200rs00ijg00it00cj.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p>前期准备</p><p id="0SRVHE8S">一台Linux服务器,vm虚拟机或者云服务器均可,<strong>内存要大于1G</strong>(别问,问就是:Whoops, GitLab is taking too much time to respond.),硬盘大于20G。</p><p id="0SRVHE8T">本次使用centos7</p><p id="0SRVHE8U">可选:域名一个,SSL证书。</p><p>安装Gitlab的三种方法</p><p id="0SRVHE8V">1.官方Linux安装包</p><p id="0SRVHE90">2.docker安装</p><p id="0SRVHE91">3.下载想要的rpm包安装</p><p id="0SRVHE92">相对于三种方法,个人更加推荐使用docker。</p><p>一、官方Linux安装包 1. 安装和配置必须的依赖项</p><p id="0SRVHE93">在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问GitLab,则可以跳过它。</p><p>sudo yum install -y curl policycoreutils-python openssh-server perl<br/>sudo systemctl enable sshd<br/>sudo systemctl start sshd<br/>sudo firewall-cmd --permanent --add-service=http<br/>sudo firewall-cmd --permanent --add-service=https<br/>sudo systemctl reload firewalld</p><p>2. 下载/安装极狐GitLab</p><p id="0SRVHE95">配置GitLab 软件源镜像。</p><p>curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash</p><p id="0SRVHE97">执行如下命令开始安装:</p><p>EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-jh</p><p>3. 访问极狐GitLab 实例并登录</p><p id="0SRVHE99">除非您在安装过程中指定了自定义密码,否则将随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中(出于安全原因,24 小时后,此文件会被第一次自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码)。使用此密码和用户名登录。</p><p>cat /etc/gitlab/initial_root_password<br/>Password: qZiiPJmRgReOLaBbB9FQ8ZJULnu2nqxwBjHnzozvCwI=</p><p id="0SRVHE9A">登录gitlab页面即可</p><p>二、基于docker安装Gitlab 1.安装docker</p><p>2.运行docker</p><p id="0SRVHE9C">官方文档:</p><p>export GITLAB_HOME=/srv/gitlab<br/>sudo docker run --detach <br/>--hostname gitlab.example.com <br/>--publish 443:443 --publish 80:80 --publish 22:22 <br/>--name gitlab <br/>--restart always <br/>--volume $GITLAB_HOME/config:/etc/gitlab <br/>--volume $GITLAB_HOME/logs:/var/log/gitlab <br/>--volume $GITLAB_HOME/data:/var/opt/gitlab <br/>--shm-size 256m <br/>registry.gitlab.cn/omnibus/gitlab-jh:latest<br/></p><p id="0SRVHE9E">由于服务器的443、80端口被占用,所有这里改成</p><p id="0SRVHE9F">文件目录:/data/docker/gitlab/</p><p>docker run -itd <br/>--hostname gitlab.xgss.net <br/>-p 444:443 -p 81:80 --name gitlab <br/>--restart always <br/>-v /data/docker/gitlab/config:/etc/gitlab <br/>-v /data/docker/gitlab/logs:/var/log/gitlab <br/>-v /data/docker/gitlab/data:/var/opt/gitlab <br/>-v /etc/localtime:/etc/localtime <br/>gitlab/gitlab-ce:latest</p><p id="0SRVHE9H">解释</p><p><br/># gitlab.xgss.net 解析到服务器ip<br/>访问:http://gitlab.xgss.net:81/<br/>或者通过服务器的nginx再代理转发过去,就不用加端口了。</p><p id="0SRVHE9J">server {<br/>listen 80;<br/>server_name gitlab.xgss.net;<br/>access_log /data/wwwroot/log/gitlab.xgss.net-access.log main_aliyun;<br/>error_log /dev/null;<br/>location / {<br/>proxy_pass http://127.0.0.1:81;<br/>proxy_redirect off;<br/>proxy_set_header Host $host;<br/>proxy_set_header X-Real-IP $remote_addr;<br/>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br/>}<br/>}</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2Fc6dfcbfej00rc7kky002zd200u000fcg00it009m.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p id="0SRVHE9L">查看密码</p><p>cat /data/docker/gitlab/config/initial_root_password<br/>Password: fSXXjErvK*<br/></p><p id="0SRVHE9M">重置密码:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2F62a7e27bj00rc7kkz004fd200u000kag00it00cp.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p id="0SRVHE9O">由于我安装的是gitlab的英文版,可以汉化。也可以直接安装docker gitlab中文版的镜像</p><p>汉化版的gitlab docker pull twang2218/gitlab-ce-zh:latest<br/>启动</p><p id="0SRVHE9Q">docker run -itd <br/>--hostname gitlab.xgss.net <br/>-p 444:443 -p 81:80 --name gitlab <br/>--restart always <br/>-v /data/docker/gitlab/config:/etc/gitlab <br/>-v /data/docker/gitlab/logs:/var/log/gitlab <br/>-v /data/docker/gitlab/data:/var/opt/gitlab <br/>-v /etc/localtime:/etc/localtime <br/>twang2218/gitlab-ce-zh:latest</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2F325444d8j00rc7kl0001hd200qs00crg00it008y.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p>三、下载rpm包安装 1.下载rpm包</p><p id="0SRVHE9T">gitlab包RPM官方下载:https://packages.gitlab.com/gitlab/gitlab-ce ,你可以选择任意想要的版本下载。</p><p id="0SRVHE9U">我选择gitlab-ce-8.2.2-ce.0.el6.x86_64.rpm,这个版本比较老,建议下载最新的,</p><p id="0SRVHE9V">把下载的文件放到百度网盘:</p><p id="0SRVHEA0">链接:https://pan.baidu.com/s/1-N_BAKRzz4lm8blu25Oz7w 提取码:0pwc</p><p>2.通过rpm安装 # yum install -y curl openssh-server postftix cronie wget<br/># yum install -y postfix<br/># systemctl enable postfix<br/># systemctl start postfix<br/># lokkit -s http -s ssh<br/># wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh<br/># sh script.rpm.sh</p><p id="0SRVHEA2"># rz 【上传gitlab-ce-8.2.2-ce.0.el6.x86_64.rpm】<br/># yum install -y gitlab-ce-8.2.2-ce.0.el6.x86_64.rpm<br/># gitlab-ctl reconfigure</p><p>3.访问gitlab</p><p id="0SRVHEA4">访问:http://192.168.1.243/</p><p id="0SRVHEA5">初始密码:Username: root Password: 5iveL!fe</p><p id="0SRVHEA6">修改初始密码。</p><p id="0SRVHEA7">就可以使用gitlab的后台创建项目和用户。</p><p id="0SRVHEA8">运行多年之后的截图:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0521%2F3bb0a3f3j00rc7kl1002rd200u000czg00it0084.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p>修改配置IP或者域名 vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml</p><p id="0SRVHEAB">gitlab:<br/> Web server settings<br/>host: 192.168.1.243 # 这里也可以改成域名<br/>port: 80<br/>https: false<br/>重启服务,就可以了</p><p id="0SRVHEAC">更改配置后,执行如下命令(加载配置生效):</p><p>sudo gitlab-ctl reconfigure</p><p id="0SRVHEAD">服务打开、关闭、重启:</p><p>gitlab-ctl start<br/>gitlab-ctl stop<br/>gitlab-ctl restart</p><p>四、Gitlab的备份与恢复</p><p id="0SRVHEAF">如果使用docker安装则直接备份gitlab目录即可。</p><p>gitlab-ctl start</p><p id="0SRVHEAH">gitlab所有的工程目录:<br/>/var/opt/gitlab/<br/>仓库文件<br/>/var/opt/gitlab/git-data/repositories<br/>默认备份目录,修改此目录:<br/>/var/opt/gitlab/backups</p><p id="0SRVHEAI">新建gitlab的备份目录</p><p># mkdir /home/git_bak<br/># chown git:root -R /home/git_bak/</p><p id="0SRVHEAJ">修改配置文件</p><p>vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml</p><p id="0SRVHEAL">backup:<br/>path: "/var/opt/gitlab/backups"<br/>改为:<br/>backup:<br/>path: "/home/git_bak"</p><p id="0SRVHEAM">有的版本/etc/gitlab/gitlab.rb</p><p id="0SRVHEAN">重启服务</p><p># gitlab-ctl restart【重启】<br/># /opt/gitlab/bin/gitlab-rake gitlab:backup:create【备份git】</p><p>恢复Gitlab备份方法 # gitlab-ctl stop unicorn<br/># gitlab-ctl stop sidekiq</p><p id="0SRVHEAQ"># gitlab-rake gitlab:backup:restore BACKUP=1459415571【恢复备份】<br/>Unpacking backup ...<br/>[root@localhost backups]# gitlab-ctl start</p><p>gitlab定时自动备份</p><p id="0SRVHEAS">添加定时脚本:</p><p># vi /etc/crontab<br/>添加以下:<br/>#周六凌晨2点备份gitlab文件<br/>0 2 * * 1 root /home/git_bak/gitbak.sh >> /home/git_bak/gitbak.log</p><p id="0SRVHEAU">cat /home/git_bak/gitbak.sh<br/>#备份GIT#<br/>/opt/gitlab/bin/gitlab-rake gitlab:backup:create<br/>sleep 30</p><p id="0SRVHEAV">自动删除7天前gitlab备份文件<br/>ndays="7"<br/>wheredir="/home/git_bak/*"<br/>find $wheredir -mtime +$ndays -name "*_gitlab_backup.tar" -exec rm -rf {} ;<br/>sleep 30</p><p id="0SRVHEB0">#备份文件推送到内网其他服务器中。<br/>#/usr/bin/rsync -ahqzt -e "ssh -p 22" --delete /home/git_bak/ root@192.168.1.10:/data/backup/192.168.1.9/gitlab_bak/</p><p id="0SRVHEB1"># systemctl restart crond</p><p id="0SRVHEB2">查看备份目录:</p><p id="0SRVHEB3">双保险:</p><p>ll -h /home/git_bak/<br/>total 49G<br/>-rw------- 1 git git 24G May 9 03:31 1652036724_gitlab_backup.tar<br/>-rw------- 1 git git 25G May 16 03:38 1652641989_gitlab_backup.tar<br/>-rw-r--r-- 1 root root 1.9M May 16 03:38 gitbak.log<br/>-rwxr-xr-x 1 root root 2.1K Sep 5 2020 gitbak.sh</p><p id="0SRVHEB5">备份服务器中的文件:<br/># ll -h /data/backup/192.168.1.9/gitlab_bak/<br/>total 49G<br/>-rw------- 1 nginx dockerroot 24G May 9 03:31 1652036724_gitlab_backup.tar<br/>-rw------- 1 nginx dockerroot 25G May 16 03:38 1652641989_gitlab_backup.tar<br/>-rw-r--r-- 1 root root 1.9M May 16 03:38 gitbak.log<br/>-rwxr-xr-x 1 root root 2.1K Sep 5 2020 gitbak.sh</p><p id="0SRVHEB8">参考文件</p><p id="0SRVHEB9">官方Linux安装包:https://about.gitlab.cn/install/</p><p id="0SRVHEBA">官方GitLab Docker 镜像:https://docs.gitlab.cn/jh/install/docker.html</p>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/136185.html