Android(安卓)持续集成实践(一)——从0开始搭建 Gitlab 服务器
文章目录
- 前言
- 系列文章
- Android 持续集成实践(一)——从0开始搭建 Gitlab 服务器
- 搭建 Gitlab 的环境
- 安装 CentOS7
- 配置网络
- 安装 Gitlab 服务器
- 安装依赖
- 安装 Gitlab 服务
- 配置 gitlab url 和端口
- Gitlab 搭建完成
- FAQ
- 参考资料
前言
最近幸得空闲,就来自己实践一遍 Android 的持续集成,之前公司一直在使用同事搭建的 gitlab+ci+firim
,确实是方便了很多,所以就有了自己实现一遍的想法。
在实践的过程中,也是磕磕绊绊各种填坑。网上有很多实现持续集成的教程,但是自己实践的时候各种坑总是出其不意的出现,所以我想记录一下我的实践过程,尽可能的做到详细,希望实践过程中遇到的问题,在这里都能找到解决方案。
系列文章
Android 持续集成实践(一)——从0开始搭建 Gitlab 服务器
Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译
Android 持续集成实践(三)——编写 .gitlab-ci.yml 实现自动化
Android 持续集成实践(四)——配置 WebHook 通知编译结果
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
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
配置完之后,用 ping 命令测试一下网络:
此时网络配置就没问题了。
安装 Gitlab 服务器
安装依赖
sudo yum install -y curl policycoreutils-python openssh-serversudo systemctl enable sshdsudo systemctl start sshdsudo firewall-cmd --permanent --add-service=httpsudo systemctl reload firewalldsudo yum install postfixsudo systemctl enable postfixsudo 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_64wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.9-ce.0.el7.x86_64.rpmrpm -i gitlab-ce-11.9.9-ce.0.el7.x86_64.rpm
出现下图表示 gitlab 已经安装上了:
配置 gitlab url 和端口
安装成功之后,还需要配置一下 url 和端口才能正常访问,这里我给 gitlab 指定 8888 端口,不要忘了在防火墙里打开指定的端口
-
配置 url
因为是虚拟机,这里直接用虚拟机的 ip 地址
# 编辑文件 i 进入写模式,编辑完后 esc -> :wq 保存并退出vi /etc/gitlab/gitlab.rb
找到
external_url
这个属性,把地址改为虚拟机 ip 并指定端口号:
# 使修改的配置生效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 就安装完成了,在主机浏览器里输入地址,就能访问了:
首次登录用户名是 root
,修改密码后就可以登录了。
FAQ
- Gitlab 服务器迁移后,仓库的 clone 地址还是之前的地址?
在/etc/gitlab/gitlab.rb
修改 gitlab 服务器地址之后,还需要再修改个文件才能使仓库的 clone 地址也变化:vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
下一篇:Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译
参考资料
CentOS7查看开放端口命令
vbox虚拟机下centos7和windows主机无法ping通解决方法
centos7安装部署gitlab服务器
centos7开放及查看端口
更多相关文章
- Android(安卓)网络调试
- android js脚本续
- android 一个有漂亮动画效果的Dialog
- Android: 自定义窗口大小
- 服务器端和客户端的上传代码
- 获取 Android(安卓)设备的唯一标识码
- android 笔记 ---- 使用Hessian与Java服务端通讯
- android登录tomcat服务器并查找数据库的内容
- root 后的android 无线传屏(服务器端与客户端)