经验分享GitLab CI 构建 linux 自动化编译

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验分享GitLab CI 构建 linux 自动化编译相关的知识,希望对你有一定的参考价值。

欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

O_o>_<o_OO_o~_~o_O

  大家好,我是深度视界。本文介绍了 ubuntu GitLab CI 构建 linux 自动化编译的方法。

  GitLab 是一个用于仓库系统的代码管理工具,涵盖代码版本管理、自动化编译、自动化测试和自动化部署一体化流程,功能十分强大好用。

  下面开始。

文章目录

1 ubuntu 安装 gitlab

1.1 宿主机安装

# 安装依赖
sudo apt-get install curl openssh-server ca-certificates postfix

# 安装gitlab
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh |sudo bash
sudo apt-get install gitlab-ce

  下面配置对外 IP 和默认端口:

sudo vim /etc/gitlab/gitlab.rb

  然后就可以通过配置的 IP 和默认端口进行 gitlab 的访问,效果如下:

1.2 docker安装

# 拉取镜像
docker pull beginor/gitlab-ce:11.3.0-ce.0

# 启动容器
docker run --detach --publish 8443:443 --publish 8090:80 -p 3567:22 --gpus all --privileged --net=bridge --ipc=host --pid=host --name gitlab --restart unless-stopped --volume /localpath/gitlab/etc:/etc/gitlab --volume /localpath/gitlab/log:/var/log/gitlab --volume /localpath/gitlab/data:/var/opt/gitlab -v /localpath/home:/home  beginor/gitlab-ce:11.3.0-ce.0 

  以上会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级。然后同样的配置 IP 和 端口:

sudo vim /localpath/gitlab/etc/gitlab.rb

  这里会比宿主机安装多一步,将 host 的值改成映射的外部主机 IP 和端口:

# /// 找到关键字 *## Web server settings*

## GitLab settings
gitlab:
	## Web server settings (note: host is the FQDN, do not include http://)
	host: 192.168.235.130
	port: 8090
	https: false

  这样就完成了。


2 ubuntu 安装 gitlab runner

sudo apt update

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash

# 要是在docker内
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | bash

# 安装
sudo apt install gitlab-runner

3 创建共享 runner

  root 用户登录,菜单 -> 管理员

  概览 -> Runner -> 注册一个实例 runner

  然后到终端:

sudo gitlab-runner register

  然后到 gitlab 页面刷新就有了


4 .gitlab-ci.yml 配置

  直接给出配置好的 .gitlab-ci.yml

variables:
  GIT_SUBMODULE_STRATEGY: recursive

stages:
  - build


linux_build:
  tags:
  - project
  stage: build
  script:
    - chmod 777 build.sh
    - ./build.sh
  artifacts:
    name: "$CI_PROJECT_NAME_$CI_COMMIT_REF_NAME_$CI_JOB_NAME_$CI_PIPELINE_ID"
    paths:
      - build/debug/
      - build/release/
      - build/include/

  把以上分拣加入原工程,然后 push 到 gitlab 仓库,就会触发 gitlab-runner 进行自动编译,编译通过后效果如下:


  好了,这样就完成了。以上分享了 ubuntu GitLab CI 构建 linux 自动化编译方法,希望我的分享能对你的学习有一点帮助。


 【公众号传送】

《【经验分享】GitLab CI 构建 linux 自动化编译》


扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

以上是关于经验分享GitLab CI 构建 linux 自动化编译的主要内容,如果未能解决你的问题,请参考以下文章

Unity如何使用Gitlab-CI做自动构建

实践分享!GitLab CI/CD 快速入门

好文分享GitLab CI/CD前端自动流水线发布教程

[ci] 构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.

如何使用 Gitlab CI 构建 Java Maven 项目?

Linux云计算 --中国三大电商大厂都在使用的《 GitLab与Jenkins结合构建持续集成(CI)环境》是如何排列