gitlab在centos7.3上搭建

最近接到gitlab+jenkins的任务,由于以前只接触过GitHub,并只是简单的使用,这里简单记录gitlab与jenkins搭建的

环境:

centos 7.3

gitlab version:gitlab-ce-12.0.2-ce.0.el7.x86_64

1 安装

# vim /etc/selinux/config
SELINUX=disabled
# setenforce 0
# getenforce
sudo yum install curl policycoreutils openssh-server openssh-clients git -y
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix -y
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

新建 /etc/yum.repos.d/gitlab-ce.repo,内容为 ##选择国内的清华的镜像

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
sudo yum makecache
sudo yum install gitlab-ce
[root@localhost home]# mkdir -p /home/data/gitlab_data
[root@localhost home]# mkdir -p /home/data/gitlab_backups
[root@localhost home]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.*'
git_data_dirs = "/home/data/gitlab_data"
gitlab_rails['backup_path'] = "/home/data/gitlab_backups"
[root@localhost home]# gitlab-ctl reconfigure
Running handlers:
Running handlers complete
Chef Client finished, 512/1343 resources updated in 03 minutes 10 seconds
gitlab Reconfigured!
[root@localhost ~]# gitlab-ctl start
ok: run: alertmanager: (pid 15250) 226s
ok: run: gitaly: (pid 15061) 229s
ok: run: gitlab-monitor: (pid 15128) 228s
ok: run: gitlab-workhorse: (pid 15087) 229s
ok: run: grafana: (pid 15282) 225s
ok: run: logrotate: (pid 14464) 300s
ok: run: nginx: (pid 14376) 306s
ok: run: node-exporter: (pid 15117) 228s
ok: run: postgres-exporter: (pid 15270) 226s
ok: run: postgresql: (pid 14049) 355s
ok: run: prometheus: (pid 15226) 227s
ok: run: redis: (pid 13835) 367s
ok: run: redis-exporter: (pid 15135) 227s
ok: run: sidekiq: (pid 14268) 318s
ok: run: unicorn: (pid 14227) 324s
[root@localhost ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.0.2
[root@localhost gitlab_backups]# rpm -qa|grep gitlab
gitlab-ce-12.0.2-ce.0.el7.x86_64
[root@gitlab ~]# cd /var/log/gitlab/
[root@gitlab gitlab]# ll
total 12
drwx------. 2 gitlab-prometheus root 95 Jul 4 17:00 alertmanager
drwx------. 2 git root 235 Jul 8 16:58 gitaly
drwx------. 2 git root 95 Jul 4 17:00 gitlab-monitor
drwx------. 2 git root 4096 Jul 9 00:43 gitlab-rails
drwx------. 2 git root 204 Jul 9 00:43 gitlab-shell
drwx------. 2 git root 165 Jul 8 16:59 gitlab-workhorse
drwx------. 2 gitlab-prometheus root 95 Jul 4 17:00 grafana
drwx------. 2 root root 95 Jul 4 16:59 logrotate
drwxr-x---. 2 root gitlab-www 4096 Jul 9 00:43 nginx
drwx------. 2 gitlab-prometheus root 95 Jul 4 17:00 node-exporter
drwx------. 2 gitlab-psql root 95 Jul 4 17:00 postgres-exporter
drwx------. 2 gitlab-psql root 95 Jul 4 16:59 postgresql
drwx------. 2 gitlab-prometheus root 235 Jul 8 17:00 prometheus
drwxr-xr-x. 2 root root 116 Jul 4 09:33 reconfigure
drwx------. 2 gitlab-redis root 235 Jul 8 16:58 redis
drwx------. 2 gitlab-redis root 95 Jul 4 17:00 redis-exporter
drwx------. 2 git root 235 Jul 8 16:59 sidekiq
drwx------. 2 git root 4096 Jul 9 00:43 unicorn

修改存储路径

git_data_dirs({ "default" => { "path" => "目标路径" } })
gitlab-ctl reconfigure
gitlab-ctl stop
rsync -av /var/opt/gitlab/git-data/repositories /home/data/gitlab_data
gitlab-ctl upgrade
ll /home/data/gitlab_data
gitlab-ctl start

gitlab备份

#!/bin/bash
clear
echo "========================================================================="
echo "linux os gitlab backup ,create by hongquan on 20190709"
echo "========================================================================="
echo "" BackDir=/home/data/gitlab_backups
ConfigDir=/etc/gitlab/gitlab.rb
#NginxDir=/var/opt/gitlab/nginx/conf/
#PostgreSQL=/var/opt/gitlab/postgresql/data
#MailDir=/etc/postfix/main.cf
curHour=`date +%H`
curDate=`date +'%Y%m%d'`
logfile=/home/data/gitlab_backups/gitlab_backups.log echo "-----Backup start -------">> ${logfile} if [ ! -d "${BackDir}" ]; then
mkdir -p "${BackDir}"
echo -e "===${BackDir} does not exsits,created them!" >> ${logfile}
fi echo "backup start" `date` >> ${logfile} /bin/cp ${ConfigDir} ${BackDir} >> ${logfile} 2>&1
#/bin/cp -r ${NginxDir} ${BackDir} >> ${logfile} 2>&1 exec gitlab-rake gitlab:backup:create >> ${logfile} 2>&1
if [ $? -eq 0 ];then
echo "------------Success!---------" >> ${logfile}
echo "Gitlab auto backup end at ${curDate}" >> ${logfile}
else
echo "------------Failed!----------" >> ${logfile}
echo "Gitlab auto backup failed at ${curDate}" >> ${logfile}
fi

2 gitlab使用

gitlab跟git的命令都是一样的

3 sourcetree配置

gitlab在centos7.3上搭建的更多相关文章

  1. CentOS7.2上搭建httpbin环境

    CentOS7上搭建httpbin环境 1.安装python31)安装python3.6可能使用的依赖yum -y install openssl-devel bzip2-devel expat-de ...

  2. CentOS7服务器上搭建Gitlab

    Gitlab如何搭建? 安装gitlab所需要的依赖 sudo yum install curl policycoreutils openssh-server openssh-clients 使ssh ...

  3. 在Centos7服务器上搭建网关服务

    准备搭建网关的服务器环境介绍: OS:Centos7.1 网络:一块网卡,能够上网(能够连接到更外层网络),IP为192.168.7.54 内存.CPU随意 以下命令的作用依次是: 开启ip_forw ...

  4. 在 CentOS7.0 上搭建 Chroot 的 Bind DNS 服务器

    BIND(Berkeley internet Name Daemon)也叫做NAMED,是现今互联网上使用最为广泛的DNS 服务器程序.这篇文章将要讲述如何在 chroot 监牢中运行 BIND,这样 ...

  5. CentOS7.4上搭建rocketMQ集群

    一.rocketMQ集群部署方案优缺点对比: 多Master模式(2m-noslave) : 一个集群无Slave,全是Master,例如2个Master或者3个Master 优点:配置简单,单个Ma ...

  6. GitLab私服在Ubuntu上搭建总结

    1.前期准备: sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates sudo apt-get ...

  7. 阿里云CentOS7.4上搭建FTP服务器

    1 安装过程 第一步:首先判断是否安装了vsftpd # rpm -qa | grep vsftpd 第二步:如果没有安装则安装vsftpd # yum -y install vsftpd 从第三步开 ...

  8. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  9. Centos7安装部署搭建gitlab平台、汉化

    Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...

随机推荐

  1. (转) Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化

    硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放.[delete后用:alter table table_name move    truncate后用:alter tab ...

  2. 【洛谷P2602】数字计数

    题目大意:求 [a,b] 中 0-9 分别出现了多少次. 题解:看数据范围应该是一个数位dp. 在 dfs 框架中维护当前的位置和到当前位置一共出现了多少个 \(x,x\in [0,9]\).因此,用 ...

  3. xz 解压缩命令,老是忘记

    .tar.xz的解压命令 $ xz -d ***.tar.xz $ tar -xvf ***.tar 或者 $ tar xvJf ***.tar.xz

  4. java数据结构4--集合Set

    Set接口 Set接口用来表示:一个不包含“重复元素”的集合Set接口中并没有定义特殊的方法,其方法多数都和Collection接口相同. 重复元素的理解:通常理解:拥有相同成员变量的对象称为相同的对 ...

  5. easygui _1

    GUI---图形用户界面 什么是GUI? GUI是Graphical  User   Interface(图形用户界面)的缩写.在GUI中,并不是键入文本和返回值,用户可以看到文本框,窗口,按钮等图形 ...

  6. Python 字符串Ⅱ

    Python 字符串格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符 ...

  7. java总结2

    1,对象数组,必须指定了数组长度,长度是固定的 2,除了ArrayList<E>以外,类赋值给变量,只有string类拿到的是值,其他类拿到的都是类的地址值, ArrayList<E ...

  8. java+web+超大文件上传

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...

  9. Java课堂动手动脑

    1.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件: 代码: package test; import java.io.IOException; im ...

  10. 大哥带我们的mysql注入

    这是今天的任务 任务三个 : 第一个手工注入找出admin用户的密码,第二个读取我phpstudy中mysql的my.ini这个配置文件的内容,第三个是通过这个注入点写入一个webshell,  都是 ...