• gitlab autuo devops


    [参考文章]

    1. 在虚拟机或服务器运行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
    

    2. 新建测试项目,并复制token

    3. 注册项目runner

    • docker exec -it gitlab-runner gitlab-runner register

    • 配置完成后会生成config.toml,如注册时输入有误可以手动修改错误后重启gitlab-runner,注意:这里要手动添加一行pull_policy = "never"(缩进用4个空格,不能用tab),意思是不从docker仓库拉取镜像,只从本地拉取(具体参考Chengzi_comm的专栏)这里的token跟第2步的token不是同一个东西,不要混淆。

    vim /srv/gitlab-runner/config/config.toml

    • 回到第2步的页面就可以看到注册的runner了, 禁用共享的runners(如图页面)

    • 启用Auto DevOps

    4. 至此,runner注册好了也启用auto devops了,但此时你修改项目文件并提交修改就会触发auto devop,但是会失败,因为没有.gitlab-ci.yml文件在项目的根目录

    5. 所以我们要编写.gitlab-ci.yml,并调用刚注册好的Specific Runners,注意:要将此文件放在项目根目录!

    stages:
        - build
        - test
    
    build:
        stage: build
        image: gbuild:latest
        script:
            - echo "info> sample build complete"
        only:
            - master
        tags:
            - Specific Runners
    
    test:
        stage: test
        image: gtest:latest
        script:
            - echo "info> sample test complete"
        only:
            - master
        tags:
            - Specific Runners
    

    6. 而第5步需要用到docker image:gbuild:latest和image:gtest:latest,这2个镜像是自定义的镜像在docker仓库是没有的,

    • 可以参考Chengzi_comm的专栏的第二步(2)用dockerfile build 2个自定义名字的镜像替换掉我这里的gtest:latest等,
    • 也可以拉个系统镜像,然后运行一个容器,在里面安装需要的工具,之后将容器打包成自定义的镜像。
    • 也可以拉我的镜像来测试docker pull vickeywu/gbuild,我只上传了一个镜像,如果需要多个,只需自己拉下来重新打个tag就行,参考如何将docker 镜像上传到docker hub仓库

    7. 现在修改项目文件提交之后就会自动调用注册的runner来构建测试代码了

    8. 在服务器上也可以看到runner运行时会调用gbuild镜像运行一个临时的容器以测试代码。

  • 相关阅读:
    JVM内存结构
    JVM中的类加载
    数据库索引详解
    Spring IOC 总结
    Java多线程(一)—— 常见问题整理
    Java集合框架 面试问题整理
    Java8 Lambda表达式
    vue开发技巧
    mysql(MariaDB)问题处理
    字符串非空判断的效率问题
  • 原文地址:https://www.cnblogs.com/vickey-wu/p/9163475.html
Copyright © 2020-2023  润新知