Schedule the pipeline created after applying a tag

My GitLab version:
GitLab Enterprise Edition 14.2.3-ee

My requirements :
I have to deploy all my apps during the night to not disturb my consumers. This requirement is new, i didn’t have to do that before.

Current workflow:
I create my release by using the Tag functionality.
My tag is the assembly’s version of my app. It’s not an automated value neither an incremental value.
As you know, each time I tag a commit, a pipeline is newly created and ran immediately.

Expected workflow:
The new pipeline waits for the night to launch

How can I configure my Gitlab CI to achieve my goal please ?

Thanks in advance

Hi @Karine-GitHub

I think you probably want to set up a scheduled pipeline via the web front-end. Then in your .gitlab-ci.yml you will want to do something like:

workflow:
    rules:
        ...
        - if: $CI_COMMIT_TAG
           when: never
        - when: always

So that you don’t get a pipeline when you push a tag; then you’ll want a job like this:

release:
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"
  script:
    - ... 

To create a release from the latest tag.

HTH,

Sarah