Android 持续集成实践(一)——从0开始搭建 Gitlab 服务器

前言

最近幸得空闲,就来自己实践一遍 Android 的持续集成,之前公司一直在使用同事搭建的 gitlab+ci+firim,确实是方便了很多,所以就有了自己实现一遍的想法。

在实践的过程中,也是磕磕绊绊各种填坑。网上有很多实现持续集成的教程,但是自己实践的时候各种坑总是出其不意的出现,所以我想记录一下我的实践过程,尽可能的做到详细,希望实践过程中遇到的问题,在这里都能找到解决方案。

系列文章

Android 持续集成实践(一)——从0开始搭建 Gitlab 服务器

Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译

Android 持续集成实践(三)——编写 .gitlab-ci.yml 实现自动化

Android 持续集成实践(四)——配置 WebHook 通知编译结果

Android 持续集成实践(五)—— ABI 分包、特殊渠道编译需求

Android 持续集成实践(一)——从0开始搭建 Gitlab 服务器

搭建 Gitlab 的环境

VirtualBox 6.0.6.130049

CentOS-7-x86_64-Minimal-1810

之所以用 CentOS7,是因为公司的搭建 gitlab 的服务器用的是这个版本,这是我第一次用 CentOS,作为一个移动端程序猿,我决定现在虚拟机上搞一搞~  

安装 CentOS7

vbox 的安装一路 next 就行了。
CentOS7 的安装也没啥难度,这里放个参考链接

需要注意的是,在安装 CentOS7 的时候,内存和硬盘的大小分配的多一点,不然之后安装完 Gitlab 后,线上编译的时候容易 oom 导致编译失败。  
这里推荐内存4G,硬盘20G  

配置网络

这里网络要配置成跟主机在同一个网段,并且可连接外网

首先在 vbox 里边把网卡连接改为桥接模式

桥接模式

安装完成进入系统后先看一下网络信息:

ip addr

ip addr

enp0s3是我的网卡名字,这个不是固定的,你的可能跟我的名字不一样
192.168.4.80是我 CentOS7 的 ip 地址。

如果你的 ip 信息里网卡没有 inet ip 信息,或者你的 ip 跟主机不在一个网段下,那么就需要配置一下 ip:

# 进入网络配置所在的文件夹
cd /etc/sysconfig/network-scripts
# 编辑网络配置文件(这里文件名字可能不一样,根据你的网卡的名字进入对应的文件进行编辑)
vi ifcfg-enp0s3 
# ONBOOT="yes"
# BOOTPROTO="static"
# IPADDR="x.x.x.x"  这里配置跟主机一个网段的
# NETMASK="x.x.x.x"  子网掩码,跟主机保持一致
# GATEWAY="x.x.x.x" 网关,跟主机保持一致
# DNS1="8.8.8.8"
# DNS2="4.4.4.4"
# 进入编辑模式后,按 i 键进入 Insert 模式,此时可以修改文件,修改完成后按 esc 退出编辑模式,然后按 :wq 保存和退出文件 

# 重启网络服务使配置生效
service network restart

centos7网络配置文件

centos7 ip 配置

配置完之后,用 ping 命令测试一下网络:
ping 测试网络

此时网络配置就没问题了。

安装 Gitlab 服务器

安装依赖
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
安装 Gitlab 服务

这里下载 rpm 包并安装,所以要先安装 wget

sudo yum install wget

# 在 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 中找一个最新版安装
# 这里我安装的是 gitlab-ce-11.9.9-ce.0.el7.x86_64
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.9-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-11.9.9-ce.0.el7.x86_64.rpm

出现下图表示 gitlab 已经安装上了:
gitlab安装完成

配置 gitlab url 和端口

安装成功之后,还需要配置一下 url 和端口才能正常访问,这里我给 gitlab 指定 8888 端口,不要忘了在防火墙里打开指定的端口

  • 配置 url

    因为是虚拟机,这里直接用虚拟机的 ip 地址

    # 编辑文件 i 进入写模式,编辑完后  esc -> :wq 保存并退出
    vi /etc/gitlab/gitlab.rb
    

    找到 external_url 这个属性,把地址改为虚拟机 ip 并指定端口号:
    gitlab url

    # 使修改的配置生效
    gitlab-ctl reconfigure
    
  • 开放指定端口号

    虽然 gitlab 指定了使用 8888 端口,但是这时候防火墙并没有开放这个端口,所以需要在防火墙配置一下。
    首先查看一下防火墙开了哪些端口:

    # 查看开放的端口列表
    firewall-cmd --list-ports
    # 开放 8888 端口  
    firewall-cmd --zone=public --add-port=8888/tcp --permanent
    # 重启防火墙
    firewall-cmd --reload
    # 再次查看是否开放成功
    firewall-cmd --list-ports
    

    防火墙开放端口

Gitlab 搭建完成

到这里 Gitlab 就安装完成了,在主机浏览器里输入地址,就能访问了:

gitlab成功

首次登录用户名是 root,修改密码后就可以登录了。

FAQ

  • Gitlab 服务器迁移后,仓库的 clone 地址还是之前的地址?
    /etc/gitlab/gitlab.rb 修改 gitlab 服务器地址之后,还需要再修改个文件才能使仓库的 clone 地址也变化:
    vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
    
    gitlab clone url

下一篇:Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译

参考资料

CentOS7查看开放端口命令

vbox虚拟机下centos7和windows主机无法ping通解决方法

centos7安装部署gitlab服务器

centos7开放及查看端口

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值