文章目录

      • 前言
      • 系列文章
    • 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开放及查看端口

更多相关文章

  1. Android(安卓)网络调试
  2. android js脚本续
  3. android 一个有漂亮动画效果的Dialog
  4. Android: 自定义窗口大小
  5. 服务器端和客户端的上传代码
  6. 获取 Android(安卓)设备的唯一标识码
  7. android 笔记 ---- 使用Hessian与Java服务端通讯
  8. android登录tomcat服务器并查找数据库的内容
  9. root 后的android 无线传屏(服务器端与客户端)

随机推荐

  1. Mono for Android 实现高效的导航
  2. Android键盘适配-中英文适配
  3. wp7开发第一课:软件生命周期(其一)
  4. Android 引用library project
  5. Android 动态加载(六) - 360开源框架DroidP
  6. Android(安卓)开发环境搭建之——ADT-Bun
  7. Android TextView滚动的两种方案
  8. android中自定义ViewGroup的实现
  9. Android 创建与解析XML(六)—— 比较与使用
  10. 如何将Android例子程序添加到Eclipse进行