• 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篇

  • 相关阅读:
    IntelliJ Idea 快捷键列表
    mysql索引类型和方式
    基本git指令
    idea中deBug方法
    BeanUtils.copyProperties(A,B)使用注意事项
    MySQL字段类型
    JAVA常识1
    Redis在windows下的安装下载
    Netty
    IDEA工具
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/13372099.html
Copyright © 2020-2023  润新知