#!/bin/bash
#获取本机ip地址
IP_ADDRESS=`ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2 | grep -v 172 | cut -d '/' -f1 | head -1`
echo -e '\033[1;31m ********************************此脚本自动化安装GitLab******************************** \033[0m'
echo -e '\033[1;31m 1.安装SSH \033[0m'
yum -y install curl policycoreutils openssh-server openssh-clients policycoreutils-python
echo -e '\033[1;31m 设置SSH开机自启动 \033[0m'
systemctl enable sshd
echo -e '\033[1;31m 启动SSH服务 \033[0m'
systemctl start sshd
echo -e '\033[1;31m ********************************************************************************** \033[0m'
echo -e '\033[1;31m 2.安装邮件系统用来发送邮件 \033[0m'
yum -y install postfix
systemctl enable postfix
systemctl start postfix
echo -e '\033[1;31m ********************************************************************************** \033[0m'
echo -e '\033[1;31m 安装GitLab社区版 \033[0m'
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.4.6-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-11.4.6-ce.0.el7.x86_64.rpm
echo -e '\033[1;31m 添加定时任务,每天凌晨两点,执行gitlab备份 \033[0m'
sed -i '$a\0 2 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1' /etc/crontab
echo -e '\033[1;31m 加载任务,使之生效 \033[0m'
crontab /etc/crontab
echo -e '\033[1;31m 查看任务 \033[0m'
crontab -l
echo -e '\033[1;31m 自动编辑gitlab配置文件,设置域名和文件保存时间,默认保存7天 \033[0m'
sed -i "s/external_url 'http:\/\/gitlab.example.com'/external_url 'http:\/\/${IP_ADDRESS}'/g" /etc/gitlab/gitlab.rb
sed -i "s/# gitlab_rails\['backup_keep_time'\] = 604800/gitlab_rails\['backup_keep_time'\] = 604800/g" /etc/gitlab/gitlab.rb
echo -e '\033[1;31m 更新配置并重启 \033[0m'
gitlab-ctl reconfigure
echo -e '\033[1;31m 查看gitlab服务启动状态 \033[0m'
gitlab-ctl status
echo -e '\033[1;31m 使用以下指令启动|停止|查看状态|重启服务管理gitlab \033[0m'
echo -e '\033[1;33m gitlab-ctl start|stop|status|restart \033[0m'
echo -e '\033[1;32m GitLab配置完成!\033[0m'
echo -e "\033[1;31m 清除yum安装包 \033[0m"
yum -y clean all
exit
-
GitLab
46 引用 • 72 回帖 • 3 关注
GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。
-
CentOS
239 引用 • 224 回帖 • 1 关注
CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于