gitlab cicd 条件执行

gitlab条件、分支判断的demo

可以查看官文档:更加详细。可以实现指定分支分条件运行或者指定job分条件运行等。

---

.script:
  stage: build
  script:
    - env | grep CI_COMMIT_ | sort
    - if test -n "$CI_COMMIT_BRANCH" ; then echo "test -n CI_COMMIT_BRANCH = true"; else echo "test -n CI_COMMIT_BRANCH = false" ; fi
    - if test -n "$CI_COMMIT_TAG" ; then echo "test -n CI_COMMIT_TAG = true"; else echo "test -n CI_COMMIT_TAG = false" ; fi
    - if test -z "$CI_COMMIT_BRANCH" ; then echo "test -z CI_COMMIT_BRANCH = true"; else echo "test -z CI_COMMIT_BRANCH = false" ; fi
    - if test -z "$CI_COMMIT_TAG" ; then echo "test -z CI_COMMIT_TAG = true"; else echo "test -z CI_COMMIT_TAG = false" ; fi

# ------------------------------------------------------------------------------
# ONLY, BRANCH
only_branch_no_rhs: # run
  extends: .script
  only:
    variables:
      - $CI_COMMIT_BRANCH

only_branch_rhs_diff_null: # run
  extends: .script
  only:
    variables:
      - $CI_COMMIT_BRANCH != null

only_branch_rhs_eq_null:
  extends: .script
  only:
    variables:
      - $CI_COMMIT_BRANCH == null

only_branch_rhs_diff_empty: # run
  extends: .script
  only:
    variables:
      - $CI_COMMIT_BRANCH != ""

only_branch_rhs_eq_empty:
  extends: .script
  only:
    variables:
      - $CI_COMMIT_BRANCH == ""


# ------------------------------------------------------------------------------
# RULES, BRANCH
rules_branch_no_rhs: # run 
  extends: .script
  rules:
    - if: $CI_COMMIT_BRANCH
      when: always
    - when: never

rules_branch_rhs_diff_null: # run
  extends: .script
  rules:
    - if: $CI_COMMIT_BRANCH != null
      when: always
    - when: never

rules_branch_rhs_eq_null:
  extends: .script
  rules:
    - if: $CI_COMMIT_BRANCH == null
      when: always
    - when: never

rules_branch_rhs_diff_empty: # run
  extends: .script
  rules:
    - if: $CI_COMMIT_BRANCH != ""
      when: always
    - when: never

rules_branch_rhs_eq_empty:
  extends: .script
  rules:
    - if: $CI_COMMIT_BRANCH == ""
      when: always
    - when: never




# ------------------------------------------------------------------------------
# ONLY, BRANCH
only_tag_no_rhs:
  extends: .script
  only:
    variables:
      - $CI_COMMIT_TAG

only_tag_rhs_diff_null:
  extends: .script
  only:
    variables:
      - $CI_COMMIT_TAG != null

only_tag_rhs_eq_null: # run
  extends: .script
  only:
    variables:
      - $CI_COMMIT_TAG == null

only_tag_rhs_diff_empty: # run
  extends: .script
  only:
    variables:
      - $CI_COMMIT_TAG != ""

only_tag_rhs_eq_empty:
  extends: .script
  only:
    variables:
      - $CI_COMMIT_TAG == ""

# ------------------------------------------------------------------------------
# RULES, BRANCH
rules_tag_no_rhs:
  extends: .script
  rules:
    - if: $CI_COMMIT_TAG
      when: always
    - when: never

rules_tag_rhs_diff_null:
  extends: .script
  rules:
    - if: $CI_COMMIT_TAG != null
      when: always
    - when: never

rules_tag_rhs_eq_null: # run
  extends: .script
  rules:
    - if: $CI_COMMIT_TAG == null
      when: always
    - when: never

rules_tag_rhs_diff_empty: # run
  extends: .script
  rules:
    - if: $CI_COMMIT_TAG != ""
      when: always
    - when: never

rules_tag_rhs_eq_empty:
  extends: .script
  rules:
    - if: $CI_COMMIT_TAG == ""
      when: always
    - when: never



2, 部分文档连接

1, gitlab中文文档 https://nucosc.gitee.io/gitlabdocs/
2, 中文文档, apache出的,可以下载阅读的 https://gitlab.apachecn.org/#/
3,英文官方文档
https://docs.gitlab.com/
4,讲解的不错的文档 https://www.jianshu.com/p/3c0cbb6c2936#### gitlab条件、分支判断的demo
可以查看官文档:更加详细。可以实现指定分支分条件运行或者指定job分条件运行等。

你可能感兴趣的:(cicd,ci,devops,git)