GitLab CI是为GitLab提供持续集成服务的一整套系统。在GitLab8.0以后的版本是默认集成了GitLab-CI并且默认启用的。
使用GitLab CI需要在仓库跟目录创建一个gitlab-ci.yml的文件,它用来指定持续集成需要运行的环境,以及要执行的脚本。还需要设置一个gitlab-runner,当有代码push变更的时候,gitlab-runner会自动开始pipeline,并在gitlab上显示持续集成的结果。
GitLab Runner是使用Go语言编写的,可以做为一个二进制文件运行,不需要特定的语言要求,他创建了一个持续集成的的环境,所需要的程序使用Docker来安装,配置好GitLab Runner运行的环境。
GitLab Runner实际上都是docker container,由GitLab Runner来自动创建,运行的环境由GitLab Runner程序控制,使用docker来建立runner,使得每一个虚拟环境都干净,轻量,相互隔离,互不影响。
执行步骤如下:
需要添加gitlab官方库:
# For Debian/Ubuntu/Mint
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
# For RHEL/CentOS/Fedora
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
通过命令安装:
# MacOS
sudo brew install gitlab-ci-multi-runner
# For Debian/Ubuntu/Mint
sudo apt-get install gitlab-ci-multi-runner
# For RHEL/CentOS/Fedora
sudo yum install gitlab-ci-multi-runner
首先要先获取gitlab-ci的Token:
项目主页 -> Sttings -> CI/CD -> Runners Expand
使用命令注册gitlab-runner:
sudo gitlab-runner register
好了之后,刷新页面就可以看到新增的一个Runner:
部署目录的所有者是root,gitlab-runner并没有权限新建文件。所以我们把/home/目录的所有者交给gitlab-runner
sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner
stages:
- build
cache:
key: ${CI_BUILD_REF_NAME}
paths:
- node_modules/
build:
stage: build
only:
- master
script:
- npm install
- npm run build
tags:
- nuxt-build
提交后在git仓库页面的 CI/CD 下的 Pipelines 看到已经开始运行了
©2018-2020 hongshali.com 版权所有 ICP证:闽ICP备18029655号-1
lincoln --福建省福州市
小伙子,很好学!great.