Gitlab-ci前端持续集成应用

1、Gitlab-ci && Gitlab-ci-runner

gitlab-ci

gitlab-ci 全称是 gitlab continuous integration,也就是基于gitlab的持续集成工具。中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括了测试,编译,部署等一系列自定义的内容。高版本的 GitLab 自带了 GitLab CI,所以不需要另外安装。

GitLab-Runner

GitLab-Runner 是脚本执行的承载者,GitLab-CI 事先注册好 GitLab-Runner,再 push 代码,对应的 Runner 就会执行你所定义的脚本。

本地push -> .gitlab-ci.yml配置 -> GitLab-Runner执行脚本 -> 部署开发、测试、生产服务器

2、安装GitLab-Runner

Gitlab Runner安装方式有两种,一种是直接二进制文件安装,一种是基于docker镜像安装。

二进制文件安装

  • 下载对应操作系统的二进制包,我这里使用的是mac版本,
sudo curl --output /usr/local/bin/gitlab-ci-multi-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-darwin-amd64
复制代码
  • 给 gitlab-ci-multi-runner 设置权限
sudo chmod +x /usr/local/bin/gitlab-ci-multi-runner
复制代码

以上是官方安装文档,如果有问题,可以手动到版本下载列表下载对应的版本,然后复制到/usr/local/bin/目录下

  • 注册runner 首先,进入到你的 gitlab 项目网页,找到 Settings -> CI/CD -> Runner,然后找到对应的 url 和 token

然后在终端输入

依次是url,token,描述,tag,是否共享,执行方式

启动Runner,gitlab-ci-multi-runner start,刷新页面

说明注册成功了。

我们可以通过 gitlab-ci-multi-runner list 查询你注册的runner ,用 gitlab-ci-multi-runner status 查看 runner 服务是否运行中。

基于Docker安装

  • 先获取 gitlab-runner 镜像
sudo docker pull gitlab/gitlab-runner:latest
复制代码
  • 启动 gitlab-runner container
sudo docker run -d --name gitlab-runner --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
复制代码
  • 注册runner
sudo docker exec -it gitlab-runner gitlab-ci-multi-runner register
注册方式同上
复制代码

3、配置.gitlab-ci.yml

GitLab CI的一切工作,都是由 .gitlab-ci.yml 来配置的。详细文档可以参考这里

在项目根目录下创建 .gitlab-ci.yml 文件

# 设置缓存
cache:
  paths:
    - node_modules/
    - dist/
# 定义 stages,用来定义工作阶段,多个 stages 会按顺序进行
stages:
  - build
  - test
  - deploy
# before_script 会在每个 stages 执行之前运行
before_script:
  - node -v
  - yarn --version
  - yarn global add umi
  - yarn install
  
# 测试(对应上面stages)
test:
  stage: test
  script:
    - echo 'yarn test'
    - yarn test
# 构建
build:
  stage: build
  script:
    - echo 'yarn build'
    - yarn build
  when: manual # 手动触发
# 部署
deploy:
  stage: deploy
  only:
    - master
  script:
    - bash scripts/deploy.sh # 部署脚本文件
  when: manual
复制代码

配置完成提交Gitpab后,每次push都会触发gitlab-ci。

4.参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值