zoukankan      html  css  js  c++  java
  • Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章:

    目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runner,搭建 GitLab CI 持续集成环境。

    服务器版本 Ubuntu 16.04 LTS。

    安装命令:

    $ 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
    

    参数说明:

    • --d: 设置容器后台运行
    • --name:容器名称
    • --restart always:每次启动容器就重启 gitlab-runner
    • --v: 共享目录挂载(如果是 Mac OSX 系统,需要把/srv改为/Users/Shared

    安装好之后,可以使用docker ps查看容器是否在运行,接着我们进入容器:

    $ docker exec -it gitlab-runner gitlab-runner register
    

    gitlab-runner register是进入gitlab-runner容器的执行命令,用于注册和初始化gitlab-runner

    下面是我的示例配置:

    我们也可以编辑vim /srv/gitlab-runner/config/config.toml,手动修改配置:

    concurrent = 1
    check_interval = 0
    
    [[runners]]
      name = "my-runner"
      url = "http://40.125.206.47"
      token = "b6ac044b57cbb22073b95dd384e517"
      executor = "docker"
      [runners.docker]
        tls_verify = false
        image = "microsoft/dotnet:latest"
        privileged = false
        disable_cache = false
        volumes = ["/cache"]
        shm_size = 0
      [runners.cache]
    

    gitlab-ci token需要用root账号登陆 GitLab,才能看到(/admin/runners):

    配置好之后,我们就可以在 GitLab 中看到 GitLab Runner 了,示例:

    然后点击修改,添加我们需要应用 GitLab Runner 的 Project 项目,示例(点击Enable启用):

    下面我们就可以为hwapp项目hwapp使用 ASP.NET Core 2.0 创建),添加.gitlab-ci.yml配置文件了(用于执行 CI 的脚本文件),简单配置(用于还原程序包和构建项目):

    stages:
      - build
    
    build_job:
      stage: build
      script:
      - dotnet restore
      - dotnet build
    

    关于.gitlab-ci.yml的语法,可以看一下之前的文章,或者查看:

    .gitlab-ci.yml提交到 GitLab,然后我们就可以看到执行结果了:

    执行是失败的,我们点击进入详情,就可以看到整个的执行过程:

    microsoft/dotnet:latest是我们一开始配置 GitLab Runner 填写的 Docker Image,并且 Runner executor 选择的是docker,也就是说 GitLab Runner 的构建环境是docker,并且默认使用的镜像是microsoft/dotnet:latest,由此再进行创建相应容器,并在其容器中执行 CI 脚本,从上面的执行过程,我们就可以看出来了。

    需要注意的是,GitLab Runner 配置的 Docker Image,最好是我们自定义构建的 Image 镜像,这样我们执行 CI 脚本环境,会更加丰富。

    根据错误信息,我们修改下对应代码,重新提交到 GitLab,可以看到这次是构建成功的:

    大概就记录这些,接下来还需要继续完善,比如:

    • GitLab CI & ASP.NET Core 2.0 发布和部署:使用 CI 脚本编译程序,然后将编译后的文件传输到服务器上,最后运行程序,完成发布和部署。
    • GitLab CI & ASP.NET Core 2.0 & Docker 发布和部署:项目中添加Dockerfile文件,使用 CI 脚本构建自定义镜像,然后在服务器上拉取并创建相应容器,最后启动容器,完成发布和部署。

    参考资料:

  • 相关阅读:
    jni中c代码调用java代码
    android 自动生成jni C语言头文件
    android jni下c文件怎么输出logcat
    android jni java类型与c语言类型互换
    约瑟夫环问题
    LeetCode面试题17.16 按摩师
    杂记
    书接上回,继续获取各链接内的小说内容
    正则表达式爬取小说各章节链接
    python爬虫学习心得:中国大学排名(附代码)
  • 原文地址:https://www.cnblogs.com/xishuai/p/ubuntu-install-gitlab-runner-with-docker.html
Copyright © 2011-2022 走看看