Skip to content

Instantly share code, notes, and snippets.

@stuartellis
Created July 17, 2023 07:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stuartellis/c43e600f861377594b0ea7f33a292628 to your computer and use it in GitHub Desktop.
Save stuartellis/c43e600f861377594b0ea7f33a292628 to your computer and use it in GitHub Desktop.
GitLab rules
variables:
PROJECT_NAME: labs
CI_DEFAULT_IMAGE: alpine:3.18.2
CI_TF_IMAGE: $CI_DEFAULT_IMAGE
RELEASE_VERSION: $CI_COMMIT_SHORT_SHA
.action_tag_release:
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- echo "Tag release $ENVIRONMENT-$COMPONENT_NAME-$STACK_VARIANT-$RELEASE_VERSION"
release:
tag_name: $ENVIRONMENT-$COMPONENT_NAME-$STACK_VARIANT-$RELEASE_VERSION
description: 'Release $RELEASE_VERSION for $ENVIRONMENT $COMPONENT_NAME $STACK_VARIANT'
# Example rules set
#
# .base_rules:
# rules:
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# when: always
# - if: '$CI_PIPELINE_SOURCE == "push"'
# when: never
# - if: $CI_COMMIT_TAG
# when: never
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# changes:
# - $RULES_CHANGES_PATH_1
# - $RULES_CHANGES_PATH_2
# - when: manual
# allow_failure: true
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# when: always
# - if: '$CI_PIPELINE_SOURCE == "push"'
# when: never
# - if: $CI_COMMIT_TAG
# when: never
.rules_default_trigger_anyfile:
rules:
- if: $CI_COMMIT_TAG
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
.rules_branch_trigger_anyfile:
rules:
- if: $CI_COMMIT_TAG
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never
- if: '$CI_PIPELINE_SOURCE != $CI_DEFAULT_BRANCH'
when: on_success
.rules_mr_trigger_tf:
rules:
- if: $CI_COMMIT_TAG
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes:
- "terraform1/stacks/definitions/$STACK_NAME/**/*"
- "terraform1/stacks/environments/**/$STACK_NAME.tfvars"
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
changes:
- "terraform1/stacks/definitions/$STACK_NAME/**/*"
- "terraform1/stacks/environments/**/$STACK_NAME.tfvars"
.rules_main_trigger_tf:
rules:
- if: $CI_COMMIT_TAG
when: never
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
changes:
- "terraform1/stacks/definitions/$STACK_NAME/**/*"
- "terraform1/stacks/environments/**/$STACK_NAME.tfvars"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment