zoukankan      html  css  js  c++  java
  • .gitlab-ci.yml文件解读

    之前一直对gitlab-ci.yml 了解不够。完全看不明白,现在对文件中的内容做个解读。也当作一个笔记。

    基础知识

    1. yml 语法说明

    这里详细的可以搜索下阮一峰老师的文章。这里只列出gitlab-ci.yml中出现的内容

    & 锚点和 * 别名,可以用来引用:

    defaults: &defaults
      adapter:  postgres
      host:     localhost
    
    development:
      database: myapp_development
      <<: *defaults
    
    test:
      database: myapp_test
      <<: *defaults
    

    相当于:

    defaults:
      adapter:  postgres
      host:     localhost
    
    development:
      database: myapp_development
      adapter:  postgres
      host:     localhost
    
    test:
      database: myapp_test
      adapter:  postgres
      host:     localhost
    

    & 用来建立锚点(defaults),<< 表示合并到当前数据,* 用来引用锚点。

    其他语法自行查找

    2. GitLab Runner

    GitLab Runner(为了叙述方便,以下简称Runner) 是与GitLab的CI/CD执行环境,是GitLab的一个工具包。
    简单来说吧, Runner就是自动化部署任务的执行环境。你编写的一条自动化部署的流水线,包含了安装,测试,部署三个任务,这三个任务在哪个环境下执行那,就是在Runner中。没有Runner,GitLab CI/CD就没办法远行。

    要想做GitLab CI/CD,首先要有一个正常的Runner

    现有环境和流程展示

    GitLab Runner

    Pipeline

    上图可以看到流水线有三个阶段(stage):build/push/deploy

    每个阶段有一个job

    ,gitlab-ci.yml 文件

    这里只保留一个阶段做解读

    
    ## 自定义了一个阶段
    stages:
      - build
    
    ## build 阶段
    dev-build:
      # 当前阶段 和上面定义的对应
      stage: build
      # 任务要执行的shell脚本内容,内容会被runner执行
      script:
        - gradle clean
        - gradle --build-cache assemble
        - cd build/libs
      # 将流水线过程中的一些文件,文件夹,打包压缩,提供一个外链供人下载,另外还能在后续的job中缓存。
      # paths 是用来指定将那些文件,目录放入制品中,也可以使用exclude关键词,将那些目录,文件排除,支持正则表达式。
      # expire_in 过期时间默认30天 这里是1小时
      artifacts:
        paths:
          - build/libs
        expire_in: 1h
      only:
    	# 只有dev开始的tag才会执行
        variables:
          - $CI_COMMIT_TAG =~ /dev-/
      tags:
        # runner 的标签,可以查看上面的图片,这里指定用哪个runner
        - test
    

    关于关键字的作用,可自行搜索。知道常用的即可。

  • 相关阅读:
    一行code实现ADO.NET查询结果映射至实体对象。
    傻瓜式使用AutoFac
    Asp.Net MVC中捕捉错误路由并设置默认Not Found页面。
    asp.net MVC中实现调取web api
    JavaScript_11_验证
    JavaScript_10_错误
    JavaScript_9_循环
    JavaScript_8_比较,条件语句
    JavaScript_7_运算符
    JavaScript_6_函数
  • 原文地址:https://www.cnblogs.com/zhenghengbin/p/14871337.html
Copyright © 2011-2022 走看看