经验分享GitLab CI 构建 linux 自动化编译
Posted 极智视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验分享GitLab CI 构建 linux 自动化编译相关的知识,希望对你有一定的参考价值。
欢迎关注我的公众号 [极智视界],获取我的更多笔记分享
O_o
>_<
o_O
O_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 自动化编译方法,希望我的分享能对你的学习有一点帮助。
【公众号传送】
扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !
以上是关于经验分享GitLab CI 构建 linux 自动化编译的主要内容,如果未能解决你的问题,请参考以下文章
[ci] 构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.
如何使用 Gitlab CI 构建 Java Maven 项目?
Linux云计算 --中国三大电商大厂都在使用的《 GitLab与Jenkins结合构建持续集成(CI)环境》是如何排列