> For example, you may now define which jobs you want to run just by tuning project variables, or you can restrict a job to be scheduled only when the variable is equal to a specific user. How would this be used in practice? For example-- suppose I want to give certain users access to my runners when they make a merge request. Can I use GITLAB_USER_NAME in .gitlab-ci.yml to achieve this?
Keep in mind though that these variables can be overridden, so it probably shouldn't be used for security reasons: https://docs.gitlab.com/ce/ci/variables/README.html#priority...
To give a more detailed example on the nightly build, you would create a pipeline schedule that ran once per day and specified a variable: https://docs.gitlab.com/ee/user/project/pipelines/schedules....
Then you'd only trigger the nightly build job when this variable was present, using the `only` flag with the variable you defined for the job: https://docs.gitlab.com/ee/user/project/pipelines/schedules....