zoukankan      html  css  js  c++  java
  • GitLab CI/CD 学习记录

    一、关键字介绍

    script             #由Runner执行的Shell脚本。
    image              #使用docker镜像,  image:name
    service            #使用docker  services镜像, services:name
    before_script      #执行作业前运行的脚本
    after_script       #作业完成后运行的脚本
    stages             #定义管道中的步骤,依次运行
    stage              #定义管道中步骤的作业段
    only              #指定作业限制only:refs,only:kubernetes,only:variables,和only:changes
    tags               #指定执行作业的runner
    allow_failure      #允许job失败
    when               #什么时候开始工作,
      on_success       #只有当前一个阶段的所有工作都成功时(或者因为它们被标记而被认为是成功的allow_failure)才执行工作 。这是默认值。
      on_failure       #仅当前一阶段的至少一个作业失败时才执行作业。
      always           #无论先前阶段的工作状态如何,都可以执行工作。
      manual           #手动执行作业
      delayed          #延迟作业。后面跟start_in,start_in 30minutes(延迟30分钟),不加单位,默认为秒。最长可延迟1小时。
    environment        #作业依赖的环境名称   #Name of an environment to which the job deploys,Environments allow you to track deployments of your application.
    cache    
      key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支,每步骤启用缓存
    artifacts          #job成功时附加到作业的文件或目录
    dependencies       #此job依赖其他jobz,主要作用于作业优先级
    converage          #给定作业代码覆盖率设置       
    retry              #在发生故障时,可以自动重试作业的次数。
    parallel          #应该并行运行多少个作业实例
    trigger            #定义下游管道触发器
    include            #允许此作业包含外部YAML
    extends            #此作业将继承的配置项
    pages              #上传作业结果用于gitlab pages
    variables          #作业级别定义作业变量

    二、示例

    runner的执行方式为shell的简单示例。

     1 cache:
     2     key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"  #为每分支提供缓存
     3     paths:
     4       - node_modules           #缓存哪些文件/文件夹
     5       - bower_components
     6 before_script:   
     7 -echo "执行前运行脚本"
     8 after_script:
     9 -echo "执行后运行脚本" 
    10 stages:     #设置步骤有哪些,常用三大块,创建,测试,发布
    11   -build
    12   -test
    13   -deploy
    14 Job1:        #设置某一步的运行工作,每个步骤可有多个job同步进行,也可设置dependencies限制
    15   stage:build     #此job属于哪个步骤
    16   script:
    17     -echo "go  go   go" 
    18   only:
    19     -master    #哪个分支触发
    20   tags:
    21     -share      #指定runner,注册runner时填写的tag
    22 test:
    23   stage:test
    24   script:
    25     -echo "测试开始"
    26   only:
    27     -master
    28   tags:
    29     -share
    30 deploy:
    31   stage:deploy
    32   when: 
    33    - manual  #上面有解释
    34   script:
    35     -echo "部署开始"
    36 only:
    37     -master
    38   tags:
    39     -share

    参考资料

    GitLab CI/CD pipeline configuration reference

    Environments and deployments

    .gitlab-ci.yml简介

    Gitlab CI yaml官方配置文件翻译

    持续集成之.gitlab-ci.yml篇

  • 相关阅读:
    20205025模拟
    CDQ分治详解
    点分治详解
    虚树详解
    整体二分详解
    算法学习————线段树合并
    Mvc.ExceptionHandling.AbpExceptionFilter
    小程序前端转换时间格式2021-02-25T12:01:20.254748
    《生命3.0—在亿年的尺度下审视生命的演进》阅读笔记1
    软件杯赛题周总结(1)
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/13372099.html
Copyright © 2011-2022 走看看