如果您对CentOS7.6安装部署gitlab和centos8安装gitlab感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解CentOS7.6安装部署gitlab的各种细节,并对centos8
如果您对CentOS 7.6安装部署gitlab和centos8安装gitlab感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解CentOS 7.6安装部署gitlab的各种细节,并对centos8安装gitlab进行深入的分析,此外还有关于CentOS 6.5安装部署Glusterfs、centos 6.8下部署gitlab服务器并修改默认端口、CentOS 7 安装 GitLab、CentOS 7 安装 gitlab 8.1.7的实用技巧。
本文目录一览:- CentOS 7.6安装部署gitlab(centos8安装gitlab)
- CentOS 6.5安装部署Glusterfs
- centos 6.8下部署gitlab服务器并修改默认端口
- CentOS 7 安装 GitLab
- CentOS 7 安装 gitlab 8.1.7
CentOS 7.6安装部署gitlab(centos8安装gitlab)
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby语言写成。后来,部分代码用Go语言重写,现今在国内外大中型互联网公司广泛使用。
git、gitlab、GitHub的区别如下:
git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面。
gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理界面,通常用于企业团队内部协作开发。
github 是一个基于git实现的在线代码托管仓库,亦提供可视化管理界面,同时提供免费账户和付费账户,提供开放和私有的仓库,大部分的开源项目都选择github作为代码托管仓库。
二、部署环境
1、关闭 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config sed -i ‘s/SELINUXTYPE=targeted/#&/‘ /etc/selinux/config setenforce 0
2、设置时区timedatectl set-timezone Asia/Shanghai
3、安装需要用到的工具及软件yum -y install vim bash-completion wget curl policycoreutils-python
三、安装部署gitlab
1、配置防火墙允许http服务
firewall-cmd --permanent --add-service=http systemctl reload firewalld
2、安装postfix
yum -y install postfix systemctl enable postfix systemctl start postfix
3、添加GitLab包存储库并安装gitlab
注:我这里安装的是gitlab-ee(企业版),如果要安装gitlab-ce(社区版),请将下面命令中gitlab-ee替换为gitlab-ce。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash EXTERNAL_URL="http://192.168.2.220" yum install -y gitlab-ee
4、将存储仓库修改为非系统盘vim /etc/gitlab/gitlab.rb
git_data_dirs({ "default" => { "path" => "/data/git-data" } })
5、重启gitlab
gitlab-ctl stop gitlab-ctl reconfigure gitlab-ctl start
6、登陆web页面配置gitlab
浏览器访问http://192.168.2.220 出现如下页面,设置root(管理员)用户密码
然后使用root用户登陆
四、gitlab使用
1、Gitlab账号注册
浏览器访问 http://192.168.2.220 会出现如下页面,点击Register
2、创建group
?在创建project之前,可先创建一个组
3、创建project
在上面创建的组下新建一个project
Clone下拉框里的两个地址,就是git的远程仓库地址。
4、往组里添加用户
注:添加用户到组里只能使用root用户操作
5、设置project的保护分支
使用之前创建ceshi这个project的用户登陆
选择Developers+Maintainers,即开发者和维护者有合并和推送的权限。
五、安装git客户端
1、下载git客户端工具
需要下载下图中的三个软件
2、安装Git工具
双击Git-2.22.0-64-bit.exe,如果出现“你要允许此应用对你的设备进行更改吗?”,请点击“是”。然后一路Next(下一步),直到安装完成即可。
3、 安装git客户端
双击TortoiseGit-2.8.0.0-64bit.msi,一路点击Next(下一步)。
出现下图页面时,可先操作1.1.4步骤,安装语言包,然后这里选择中文(简体)。
也可以选择English(英文),等安装完后再选择语言。
出现下图界面时,可以点击Check Now,检查git.exe路径是否正确,出现git版本号表示git.exe路径正确。
git.exe路径为C:\Program Files\Git\bin,如果默认没有显示git.exe的路径,可以手动填上去,然后再Check Now检查一下。
然后输入Full name和邮箱
点击“完成”,git客户端工具安装完成。
4、安装git语言包
双击TortoiseGit-LanguagePack-2.8.0.0-64bit-zh_CN.msi,安装中文语言包。
如果出现“你要允许此应用对你的设备进行更改吗?”,请点击“是”。
点击”下一步“,安装完成。
5、将git客户端语言修改为中文
任意目录下,在空白的地方右击,选择TortoiseGit→Settings
六、git客户端使用
Git使用有两种方式,http和ssh。
1、http方式
URL地址:http://192.168.2.220/ceshi/ceshi.git
在本地创建一个空文件夹,然后右击选择“Git 克隆...”
第一次克隆(clone)时需要输入gitlab的用户名和密码
此时可自己新建一个文件进行测试,流程为拉取→添加→提交→Push
2、ssh方式
在任意目录下右击空白地方,选择“Git Bash Here”,打开git命令行窗口
初始化git全局配置
git config --global user.name "Full name" git config --global user.email "你的邮箱"
创建SSH密钥对
ssh-keygen -t ed25519 -C "你的邮箱"
3个:号的地方直接回车,不要输入任何内容
然后将git命令行窗口关掉
密钥存放在你的用户目录下的.ssh目录下,比如:C:\Users\xuad.ssh
打开公钥文件,将内容全部复制到gitlab上你的ssh keys里保存。
浏览器访问http://192.168.2.220 登陆gitlab,右上角用户下拉菜单选择“Settings”,然后点击“SSH Keys”
在本地创建一个空文件夹,然后右击选择“Git 克隆...”
CentOS 6.5安装部署Glusterfs
环境介绍:
Server:10.10.0.200 kvm200
Client1:10.10.0.201kvm201
Client1:10.10.0.202kvm202
1、首先部署Server端
主机名、网络配置、SELinux
如果--fqdn能得到完整域名,即表示主机配置成功。
2、关闭SELinux
Client1、Client2同样操作设置主机名、Seliux
3、NTP服务器
如果你的server可以连网,并且可以同步时间,这个步骤可以忽略。如果是本地的环境,那则需要有一台NTP服务器,用来同步主机间的时间。
此处将kvm200设置为NTP服务器
客户端修改配置文件并手动同步:
NTP服务器搭建完成后。基本的环境配置已经完成。下面就是存储服务器的安装了、
4、IPtables防火墙设置以及修改挂载文件和创建挂载文件夹
4.1、修改每台防火墙设置为
4.2 修改挂载文件:/etc/fstab 在此文件中最后添加两行(此处建设时已规划好,在后续就使用此文件夹来挂载存储系统)
4.3 存储服务器
搭建gluster服务器之前,我们先配置gluster源,之后去下载安装包
安装完成之后,下面安装其它2台客户端:(注意:其它三台也需要先安装下面的才可以继续进行去。主要安装:glusterfs glusterfs-server glusterfs-fuse三个软件包)
上面的步骤做完后,我们回到kvm200机器上,将它们(200、201)加入gluster节点,并创建存储卷:
(如果加节点时报错,可能跟防火墙有关,请检查各个主机的防火墙设置。)
查看状态:
到此glusterfs就已经全部部署完毕,使用mount在需要使用挂载的机器上进行挂载!
centos 6.8下部署gitlab服务器并修改默认端口
前言(场景)
github虽好,不过因为访问速度偶尔抽风
如果用来学习git和测试一些git命令可能有点浪费了,这里我们自己架设一个gitlab来学习一些不常规的git命令等
github私有仓库需要费用,gitlab自己架设不仅适合内部开发,还可以有很多好处
安装gitlab
安装依赖环境
yum install -y curl openssh-server openssh-clients cronie lokkit
lokkit -s http -s ssh
或
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
service iptables save
安装postfix
yum install postfix
service postfix start
chkconfig postfix on
添加Gitlab包仓库
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
安装Gitlab
yum install -y gitlab-ce
配置Gitlab和启动
gitlab-ctl reconfigure
gitlab-ctl start
访问gitlab
http://ip/
#默认是root和root密码即可登录
修改默认的gitlab 相关端口
修改/etc/gitlab/gitlab.rb
vim /etc/gitlab/gitlab.rb
#unicorn[''port''] = 8080 修改 8070 默认是注释的去掉前面的#
unicorn[''port''] = 8070
#nginx[''listen_port''] = nil 修改 8090 默认是注释的去掉前面的#
nginx[''listen_port''] = 8090
修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
#listen "127.0.0.1:8080", :tcp_nopush => true
listen "127.0.0.1:8070", :tcp_nopush => true
修改默认的gitlab nginx的web服务80端 /var/opt/gitlab/nginx/conf/gitlab-http.conf
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
#listen *:80;
listen *:8090;
重新配置gitlab
gitlab-ctl reconfigure
重新启动gitlab
gitlab-ctl restart
配置smtp邮件发送
$ sudo vi /etc/gitlab/gitlab.rb
# Change the external_url to the address your users will type in their browser
external_url ''http://xxhost.com''
#Sending application email via SMTP
gitlab_rails[''smtp_enable''] = true
gitlab_rails[''smtp_address''] = "smtp.163.com"
gitlab_rails[''smtp_port''] = 25
gitlab_rails[''smtp_user_name''] = "xxuser@163.com"
gitlab_rails[''smtp_password''] = "xxpassword"
gitlab_rails[''smtp_domain''] = "163.com"
gitlab_rails[''smtp_authentication''] = :login
gitlab_rails[''smtp_enable_starttls_auto''] = true
##修改gitlab配置的发信人
gitlab_rails[''gitlab_email_from''] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com"
CentOS 7 安装 GitLab
先分享几个镜像站,可用于选择下载 GitLab 安装包,或者其他需要的软件包。
清华大学开源软件镜像站
华为开源镜像站
阿里巴巴开源镜像站
网易开源镜像站
GitLab 官网安装包镜像站
##################################################################################################
下面是我在 CenOS 7 系统上的实操安装 GitLab 手记,分享给各位。
先参考官方文档说明手册,详细看看安装过程,下面是官方连接。
手动下载和安装 GitLab 软件包
CenOS 7 系统安装完成,先执行更新 # yum -y update ,然后再安装相关的开发工具,执行下面的指令:
# yum -y groupinstall ''Development Tools''
接着在进行下面的软件安装,执行下面的指令:
# yum -y install net-tools curl vim wget postfix policycoreutils-python openssh-server curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel crontabs logwatch logrotate perl-Time-HiRes cmake libcom_err-devel.i686 libcom_err-devel.x86_64 nodejs python-docutils
这样一般的软件依赖也就全都安装完成了,下面进行 GitLab 的安装,我下载的是 gitlab-ce-12.9.7-ce.0.el7.x86_64.rpm 版本,各位按需进行下载即可。
下载完成,执行安装指令 # rpm -i gitlab-ce-12.9.7-ce.0.el7.x86_64.rpm
安装软件需要安装配置其他组件,安装过程需要点时间,请耐心等待。。。。。。如下图显示结果,Thank you for installing GitLab!
就表示已顺利安装好了 GitLab 系统,下面进行配置。
修改主要的配置文件 # vim /etc/gitlab/gitlab.rb ,先修改需要访问的 IP 配置,按实际情况修改即可。
还可以将存储仓库修改为非系统盘下的存储目录,查找 git_data_dirs 字符,然后进行修改,我是挂载外存储盘的,这需要按实际配置修改即可,
还可以配置域控,通过域账号管理用户。
还可以配置 GitLab 的备份
上面一些参数按实际需求修改好,就可以重新配置 GitLab 使之生效,执行下面的指令:
# gitlab-ctl reconfigure
接着查看系统状态,15 个组件服务都正常 run 了,就说明系统一切正常。
访问系统,默认是 root 账号,直接输入密码,进行初始化登录。
登录后,熟悉的界面就出现了。
进入设置,进行本地化设置后,有一部分就可以汉化显示了。
CentOS 7 安装 gitlab 8.1.7
需要安装内容
- Packages / Dependencies
- Ruby
- Go
- Node
- System Users
- Database mysql
- Redis
- GitLab
- Nginx
依赖的包
#依赖
yum -y install gettext-devel readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git cmake libcom_err-devel.i686 libcom_err-devel.x86_64 perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
CentOS 7 源中的git的版本是1.8.3.1,更新
#需要此依赖包,否则报错
yum install curl-devel
cd /tmp
curl --remote-name --progress https://www.kernel.org/pub/software/scm/git/git-2.12.0.tar.gz && tar -xzf git-2.12.0.tar.gz
cd git-2.12.0
./configure
make prefix=/usr/local all
# Install into /usr/local/bin
make prefix=/usr/local install
# When editing config/gitlab.yml (Step 5), change the git -> bin_path to /usr/local/bin/git
#邮件服务器
yum install -y postfix
Ruby
ruby最低版本2.1,yum安装的是2.0
yum erase ruby
mkdir /tmp/ruby && cd /tmp/ruby
curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz
echo ''1014ee699071aa2ddd501907d18cbe15399c997d ruby-2.3.3.tar.gz'' | shasum -c - && tar xzf ruby-2.3.3.tar.gz
cd ruby-2.3.3
./configure --disable-install-rdoc
make
make install
安装bundler
gem install bundler --no-ri --no-rdoc
Go
curl --remote-name --progress https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz
ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
rm go1.5.3.linux-amd64.tar.gz
Node
node >= v4.3.0 yarn >=v0.17.0
# install node v7.x
curl --location https://rpm.nodesource.com/setup_7.x | bash -
yum install -y nodejs
# install yarn
curl --location https://yarnpkg.com/install.sh | bash -
System Users
为gitlab穿件用户
adduser --system --shell /bin/bash --create-home --home-dir /home/git --comment ''GitLab'' git
mysql 5.7.17
yum install gcc gcc-c++ ncurses-devel perl
#cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -xzvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap ; make ; make install
cd ~
#mysql user
groupadd mysql
useradd -r -g mysql mysql
#dir
mkdir -p /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
mkdir -p /data/mysqldb
chown -R mysql:mysql /data/mysqldb
#mysql
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
tar -zxv -f mysql-5.7.17.tar.gz
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -xzf boost_1_59_0.tar.gz
cd mysql-5.7.17
#make and install
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_BOOST=../boost_1_59_0
make && make install
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
编辑mysql配置文件
[mysqld]
basedir =/usr/local/mysql
datadir =/data/mysqldb
port = 3306
socket =/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
初始化
mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
注意产生的临时密码
#start
service mysql start
#login
mysql -u root -p
>set password for ''root''@''localhost''=password(''your password'');
下面为gitlab创建数据库
#user
mysql> CREATE USER ''git''@''localhost'' IDENTIFIED BY ''$password'';
mysql> SET storage_engine=INNODB;
mysql> SET GLOBAL innodb_file_per_table=1, innodb_file_format=Barracuda, innodb_large_prefix=1;
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
# Grant the GitLab user necessary permissions on the database
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES, REFERENCES ON `gitlabhq_production`.* TO ''git''@''localhost'';
Redis
配置yum源
rpm -ivh http://mirrors.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
chkconfig redis on
配置redis
cp /etc/redis.conf /etc/redis.conf.origin
# Disable Redis listening on TCP by setting ''port'' to 0
sed ''s/^port .*/port 0/'' /etc/redis.conf.origin | sudo tee /etc/redis.conf
#Enable Redis socket for default CentOS path:
echo ''unixsocket /var/run/redis/redis.sock'' | sudo tee -a /etc/redis.conf
echo -e ''unixsocketperm 0770'' | sudo tee -a /etc/redis.conf
#Create the directory which contains the socket
mkdir /var/run/redis
chown redis:redis /var/run/redis
chmod 755 /var/run/redis
#Persist the directory which contains the socket, if applicable
if [ -d /etc/tmpfiles.d ]; then
echo ''d /var/run/redis 0755 redis redis 10d -'' | tee -a /etc/tmpfiles.d/redis.conf
fi
#Activate the changes to redis.conf:
service redis restart
#Add git to the redis group:
usermod -aG redis git
GitLab
su git
git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 9-0-stable gitlab
cd gitlab
cp config/gitlab.yml.example config/gitlab.yml
vim config/gitlab.yml
修改 gitlab -> host 为主机域名 更新 gitlab -> email_from 修改 git -> bin_path 为 /usr/local/bin/git
# Copy the example secrets file
cp config/secrets.yml.example config/secrets.yml
chmod 0600 config/secrets.yml
# Make sure GitLab can write to the log/ and tmp/ directories
chown -R git log/
chown -R git tmp/
chmod -R u+rwX,go-w log/
chmod -R u+rwX tmp/
# Make sure GitLab can write to the tmp/pids/ and tmp/sockets/ directories
chmod -R u+rwX tmp/pids/
chmod -R u+rwX tmp/sockets/
# Create the public/uploads/ directory
mkdir public/uploads/
# Make sure only the GitLab user has access to the public/uploads/ directory
# now that files in public/uploads are served by gitlab-workhorse
chmod 0700 public/uploads
# Change the permissions of the directory where CI job traces are stored
chmod -R u+rwX builds/
# Change the permissions of the directory where CI artifacts are stored
chmod -R u+rwX shared/artifacts/
# Change the permissions of the directory where GitLab Pages are stored
chmod -R ug+rwX shared/pages/
# Copy the example Unicorn config
cp config/unicorn.rb.example config/unicorn.rb
cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
config --global core.autocrlf input
#redis
cp config/resque.yml.example config/resque.yml
# database
cp config/database.yml.mysql config/database.yml
vim config/database.yml
chmod o-rwx config/database.yml
安装 Gems
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
gem sources -l
bundle config mirror.https://rubygems.org https://ruby.taobao.org
bundle install --deployment --without development test postgres aws kerberos
安装
bundle exec rake gitlab:shell:install REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production SKIP_STORAGE_VALIDATION=true
Install gitlab-workhorse
bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse]" RAILS_ENV=production
初始化数据库
bundle exec rake gitlab:setup RAILS_ENV=production
我在这里遇到了小麻烦,redis不能初始化,我直接改用tcp端口通信
安装脚本
cp lib/support/init.d/gitlab /etc/init.d/gitlab
chkconfig --add gitlab
chkconfig gitlab on
安装 Logrotate
cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
检查应用状态
su git
bundle exec rake gitlab:env:info RAILS_ENV=production
编译Assets\
bundle exec rake assets:precompile RAILS_ENV=production
启动 GitLab 服务
service gitlab start
nginx
首先配置nginx 源
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
yum -y --enablerepo=nginx install nginx
chkconfig nginx on
cp lib/support/nginx/gitlab /etc/nginx/conf.d/gitlab.conf
usermod -a -G git nginx
chmod g+rx /home/git/
检查配置 sudo nginx -t 重启nginx: sudo service nginx restart 安装完成! 再次验证应用状态,保证安装过程中没有错过任何步骤,可以通过以下命令验证: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
参考文档: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md http://blog.csdn.net/huangzhijie3918/article/details/51330425
今天的关于CentOS 7.6安装部署gitlab和centos8安装gitlab的分享已经结束,谢谢您的关注,如果想了解更多关于CentOS 6.5安装部署Glusterfs、centos 6.8下部署gitlab服务器并修改默认端口、CentOS 7 安装 GitLab、CentOS 7 安装 gitlab 8.1.7的相关知识,请在本站进行查询。
本文标签: