• 在gitlab上setup CI


    安装gitlab runner

    docker pull gitlab/gitlab-runner

    启动gitlab runner

    docker run -d --name gitlab-runner --restart always 
      -v /var/run/docker.sock:/var/run/docker.sock 
      -v /srv/gitlab-runner/config:/etc/gitlab-runner 
      gitlab/gitlab-runner:latest

    配置gitlab runner

    docker exec -it gitlab-runner gitlab-runner register

    输入gitlab ci地址,比如:http://gitlab.com/ci

    输入token:可以在gitlab的admin area->overview->runners里面找到

    输入描述信息

    输入tag

    输入类型:Docker

    输入镜像:Ruby2.1

    或者直接用参数方式传入:

    docker exec -it gitlab-runner gitlab-runner register 
      --url "http://gitlab.com/ci" 
      --registration-token "xxxxx" 
      --description "dotnet" 
      --executor "docker" 
      --docker-image microsoft/dotnet

    配置CI脚本

    在gitlab project首页,有选项:setup CI,点击之后会建立.gitlab-ci.yml文件,

    简单输入测试脚本:

    image: registry.cn-hangzhou.aliyuncs.com/cjx/tutorial
    build:
      stage: build
      script: 
        - dotnet restore
        - dotnet run

    完成之后,Runner会自动跑脚本。

    遇到的坑:

    一开始有自定义gitlab的hosts:gitlab.cjx.com,在用runner跑测试脚本时,即使在runner启动的时候添加了host,也会报 port 80 : connection refused错误,貌似container里面的runner根本就没有解析这个hosts文件,最后把hosts去掉全部用IP访问搞定了。

    docker run  --name gitlab-runner --restart always 
      --add-host gitlab.cjx.com:192.168.30.129
      -v /var/run/docker.sock:/var/run/docker.sock 
      -v /srv/gitlab-runner/config:/etc/gitlab-runner 
      gitlab/gitlab-runner:latest

    具体原因还要再研究一下。

  • 相关阅读:
    基于NS2的差分服务网络测试(含awk分析代码)
    ubuntu14下NSG2的安装和使用
    (转)QOS入门详解
    gnuplot安装的小问题
    中介者模式(Mediator)_java实现
    命令模式(Command)_java实现
    观察者模式(Observer)_java实现
    策略模式(Strategy)_java实现
    状态模式(State)_java实现
    备忘录模式(Memento)_java实现
  • 原文地址:https://www.cnblogs.com/windchen/p/6247137.html
Copyright © 2020-2023  润新知