安装前说明
Gitlab,Jenkins,Ansible部署在一台服务器上
- Gitlab通过默认的80端口访问
- Jenkins通过设置后的8090端口访问
安装前装备
# 查看操作系统版本
[root@gitlab ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
# 查看已经安装的gitlab版本
[root@gitlab ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
11.11.0
# 查看磁盘空间
[root@gitlab ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 42G 8.6G 83% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 12K 1.9G 1% /dev/shm
tmpfs 1.9G 195M 1.7G 11% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/xvda1 1014M 336M 679M 34% /boot
/dev/mapper/centos-home 46G 33M 46G 1% /home
tmpfs 377M 0 377M 0% /run/user/0
安装最新版的Ansible
# 下载Centos7的EPEL
[root@gitlab ~]# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@gitlab ~]# yum clean all && yum makecache
[root@gitlab ~]# yum install ansible
[root@gitlab ~]# ansible --version
ansible 2.9.2
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 9 2019, 14:30:50) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
# 如果有这个文件,则删除
[root@gitlab ansible]# rm -f /etc/ansible/.hosts.swp
[root@gitlab ~]# vim /etc/ansible/hosts
测试Ansible是否安装好,是否可以ping通客户机
[root@gitlab ansible]# ansible webservers -m ping
future@xx.xx.xx.xx | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
安装JDK
# 下载jdk安装包
[root@gitlab ~]# wget https://download.oracle.com/otn/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz
# 安装jdk
[root@gitlab ~]# tar zxvf jdk-8u45-linux-x64.tar.gz
[root@gitlab ~]# mv jdk1.8.0_45 /usr/local/
[root@gitlab ~]# mv jdk-8u45-linux-x64.tar.gz /usr/local/src/
#添加到系统的环境变量
[root@gitlab ~]# cat >>/etc/profile << EOF
> export JAVA_HOME=/usr/local/jdk1.8.0_45
> export JRE_HOME=\${JAVA_HOME}/jre
> export CLASSPATH=.:\${JAVA_HOME}/lib:\${JRE_HOME}/lib
> export PATH=\${JAVA_HOME}/bin:\$PATH
> EOF
#使profile文件生效,并查看java版本
[root@gitlab ~]# source /etc/profile
[root@gitlab ~]# java -version
java version "1.8.0_45"
安装Tomcat
# 下载tomcat安装包
[root@gitlab ~]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gz
[root@gitlab ~]# tar zxvf apache-tomcat-8.5.4.tar.gz
[root@gitlab ~]# mv apache-tomcat-8.5.4 /usr/local/jenkins
[root@gitlab ~]# rm -rf /usr/local/jenkins/webapps/*
# 修改tomcat字符集及端口,端口其实可以不用改,加入字符集
[root@gitlab ~]# vim /usr/local/jenkins/conf/server.xml
<Connector port="8080" **URIEncoding="UTF-8"** protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
安装GitLab
# 配置yum源
[root@gitlab ~]# cat > /etc/yum.repos.d/gitlab-ce.repo << EOF
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el\$releasever/
gpgcheck=0
enabled=1
EOF
#更新yum缓存
[root@gitlab ~]# yum clean all
[root@gitlab ~]# yum makecache
#安装GitLab依赖包
[root@gitlab ~]# yum install -y curl policycoreutils-python openssh-server iptables-services
#安装GitLab,安装过程中会出现下图的图案
[root@gitlab ~]# sudo yum -y install gitlab-ce
配置GitLab
# 编辑配置文件
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
# 修改访问地址
external_url 'http://xx.xx.xx.xx'
# 开启备份
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800
# 初始化配置&启动服务
[root@gitlab ~]# gitlab-ctl reconfigure
# 查看状态
[root@gitlab ~]# gitlab-ctl status
# 查看gitlab版本号
[root@gitlab ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
11.1.2
# 开启防火墙
[root@gitlab ~]# systemctl stop firewalld
[root@gitlab ~]# systemctl disable firewalld
[root@gitlab ~]# systemctl start iptables
[root@gitlab ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@gitlab ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
# 访问gitlab, 第一次登陆会要求设置密码
浏览器打开 http://xx.xx.xx.xx
<