美文网首页
1. gitlab runner 的安装配置和 gitlab C

1. gitlab runner 的安装配置和 gitlab C

作者: eftales | 来源:发表于2020-03-30 11:33 被阅读0次

    安装配置 gitlab runner

    安装

    sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
    
    sudo chmod +x /usr/local/bin/gitlab-runner
    
    sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash -g root -G root
    
    sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
    sudo gitlab-runner start
    

    配置

    配置时最重要的就是 URL 和 token。

    URL 就是你托管代码的地方。有人看你会说,github 行不行呀?当然不行,必须是 gitlab 的服务器,github 和 gitlab 是不兼容的。我们这里以 gitlab.com 为例,其他的自建 gitlab 服务器一样,只需要写拥有 gitlab 功能的服务器的地址就行。

    token 是与项目相关的字符串。打开一个项目页面,依次点击 settings -> CI/CD -> runners。

    runner 在这里~

    然后你就可以下下图看到 token。

    token在这里~
    sudo gitlab-runner register # 配置 gitlab runner
    Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
    # https://gitlab.com
    Please enter the gitlab-ci token for this runner
    # 输入我们千辛万苦找到的 token
    Please enter the gitlab-ci description for this runner
    #写点介绍
    Please enter the gitlab-ci tags for this runner (comma separated):
    # tag 就是这个 gitlab-runner 的名字,之后可以根据不同的 tag 给不同的 gitlab-runner 指派任务
    Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
    # shell 个人比较推荐 shell,因为即使选用了 shell 也可以调用其他的运行环境比如 docker 鸭
    

    CI/CD 基本使用流程

    在工程的根目录新建文件 .gitlab-ci.yml,提交到云端之后就会执行。

    # 在任一阶段开始之前执行 echo "嘤嘤嘤"
    before_script:
      - echo "嘤嘤嘤"
    
    # 说明有哪些阶段
    stages:
      - build
      - test
      - release
    
    # build 阶段
    build:
      stage: build
      script:
        - echo "build"
      tags: 
        - aliyunUbuntu16 # 使用名为 aliyunUbuntu16 的gitlab-runner
      only:
        - master # 只对 master 分支进行本操作
      artifacts: # 将 src 目录下的文件保存一下,以备后续步骤使用
          paths:
          - README.md 
    
    # test 阶段
    test:
      stage: test
      script:
        - echo "test"
    
      tags:
        - aliyunUbuntu16 # 使用名为 aliyunUbuntu16 的gitlab-runner
      only:
        - master
      dependencies:
        - build # 依赖于 build 阶段保存的文件
      artifacts:
          paths:
          - README.md 
    
    # release 阶段
    release:
      stage: release
      script: 
        - npm install
        - docker kill node_server
        - docker run -d --name node_server  --rm -p 3000:3000 -v $(pwd):/opt/webapp   node:8.9.4 node /opt/webapp/app.js
      allow_failure: false # 允许失败,web 执行起来之后就停不下来,因此此处必定超时导致失败
      tags: 
        - aliyunUbuntu16
      only:
        - master
      dependencies:
        - test # 依赖于 test 阶段的二进制文件 web
    
    

    相关文章

      网友评论

          本文标题:1. gitlab runner 的安装配置和 gitlab C

          本文链接:https://www.haomeiwen.com/subject/jcimuhtx.html