gitlab-ci使用记

使用gitlab-ci作什么

  • 自动化测试
  • 构建项目
  • 发布项目

安装GitLab Runner

我用的是mac系统 参考文档Install GitLab Runner on macOS
安装步骤:html

  • 下载二进制文档到系统(提醒:不要用Homebrew安装,由于gitlab没有维护,踩过坑):sudo curl --output /usr/local/bin/gitlab-runner gitlab-runner-downloads.s3.amazonaws.com/latest/bina…
  • 赋予gitlab-runner执行权限 sudo chmod +x /usr/local/bin/gitlab-runner
  • cd ~
  • gitlab-runner install
  • gitlab-runner start

注册Registering Runners

我用的是mac系统 参考文档Registering Runnersgit

  • 运行gitlab-runner register命令(根据提示填写信息)
    • 输入项目所在的gitlab(setting->ci/cd->Runners下获取): Please enter the gitlab-ci coordinator URL (e.g. gitlab.com )
    • 输入项目的注册token(setting->ci/cd->Runners下获取): Please enter the gitlab-ci token for this runner
    • 输入runner的名称(注册完成后能够再对应的项目下的setting->ci/cd->Runners看到该runner):Please enter the gitlab-ci description for this runner
    • 输入runner的标签(根据.gitlab-ci.yml中的tag寻找对应的runner):Please enter the gitlab-ci tags for this runner (comma separated)
    • 输入执行的环境(我用本地的mac,全部我选中shell):Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:docker

编写.gitlab-ci.yml配置文件

stages: # 定义Pipeline的阶段,能够多个
   - install # 安装依赖包
   - test # 执行测试
   - build # 构建项目
   - deploy # 发布

install_job: # 定义一个工做流job
   stage: install # 设置工做流所属的阶段,默认是test
   tags: # 定义tags,用来匹配相应的Runner来执行
       - runner
   script: # 定义后面Runner来执行的具体脚本
       - cd ~/Documents/gitlabRunner/  # 移动到要构建执行的项目下,目录本身定
       - rm -rf runner  # 删除里面已有的项目runner
       - git clone git@gitlab.runner.com:app/runner.git # 从gitlab上克隆runner项目
       - cd runner # 移动到runner项目中
       - yarn install # 安装依赖包
   only:
       - master # 指定只有master分支变动的才会运行这个阶段

test_job:
   stage: test
   tags:
       - runner
   script:
       - cd ~/Documents/gitlabRunner/runner
       - yarn test  # 执行测试
   only:
       - master

build_job:
   stage: build
   tags:
       - runner
   script:
       - cd ~/Documents/gitlabRunner/runner
       - yarn build # 执行构建
   only:
       - master
deploy_job:
    stage: deploy
    tags:
        - runner
    script:
        - cd ~/Documents/gitlabRunner/runner
        - yarn publish  # 发布代码 
    only:
        - master

复制代码

提交代码到master分支,查看运行结果

相关文章
相关标签/搜索