Global (instance-level) variables for CI builds

Less of an issue or more or a feature/question perhaps ... It would nice to support global variables in the CI builds; classic use-case being deployment keys / docker registry credentials.

Rohith

Problem to solve

Without support for global variables users must manually enter the same credentials repeatedly for dozens of projects when migrating to GitLab for details like:

  • docker private registry credentials
  • kubernetes credentials)
  • deployment keys

Intended users

  • Development Team Lead
  • Software Developer
  • DevOps Engineer

Proposal

Implement support for global (instance-level) variables for CI builds by:

  • Re-use the refactor/re-design of CI variables in project/group settings
  • Place under CI/CD section in the admin settings

Further design discussion is done in the merge request !33510 (merged)

Links / references

Availability & Testing

Questions

@thaoyeager @mbobin

  • Will there be any UI implementation on this feature?
  • How will user provide and/or obtain these variables?
    • Via the API for now?

Test areas

  • Unit test changes
    • Feature requires new unit tests
      • FE (waiting on response to questions above)
      • API
  • Integration test changes
    • Feature requires integration test: FE <- API (depends on response to questions above)
  • End-to-end test change
    • No end-to-end testing required
    • package-and-qa required
Edited by Dimitrie Hoekstra