
I built glenv — a CLI to stop manually managing GitLab CI/CD variables
The problem every GitLab user eventually hits You've got a .env.production file with 80 variables. Time to deploy to a new environment. So you open GitLab, navigate to Settings → CI/CD → Variables, and start clicking. Add variable. Set key. Paste value. Toggle "masked". Toggle "protected". Save. Repeat. After the fifth variable you're already making mistakes. After the twentieth you've lost count. After the fiftieth you've decided that whoever designed this workflow has never had to actually use it. The next attempt is a bash script. Something like: while IFS = '=' read -r key value ; do curl -X POST "https://gitlab.com/api/v4/projects/ $PROJECT_ID /variables" \ --header "PRIVATE-TOKEN: $TOKEN " \ --form "key= $key " \ --form "value= $value " done < .env.production It works until it doesn't. No rate limiting, no retry on 429, no masked/protected flags, sequential execution, no way to preview what's changing. One mistyped variable and you're debugging a broken pipeline at 2am. I built g
Continue reading on Dev.to DevOps
Opens in a new tab


