# Omnibus-gitlab release process Our main goal is to make it clear which version of GitLab is in an omnibus package. ## On your development machine - Pick a tag of GitLab to package (e.g. `v6.6.0`). - Create a release branch in omnibus-gitlab (e.g. `6-6-stable`). - If the release branch already exists, for instance because you are doing a patch release, make sure to pull the latest changes to your local machine. ``` git pull https://gitlab.com/gitlab-org/omnibus-gitlab.git 6-6-stable # existing release branch ``` - Change [the gitlab-rails version in omnibus-gitlab]. In our example that would be `default_version '490f99d45e0f610e88505ff0fb2dc83a557e22c5' # 6.6.0`. - Change [the gitlab-shell version] if necessary, for example `default_version 'c26647b9d919085c669f49c71d0646ac23b9c9d9' # 1.9.4`. - Change [the source] to the repo you want to build from (CE / EE) - Commit the new version to the release branch ```shell git commit -m 'Pin GitLab to v6.6.0' config/software/gitlab-rails.rb ``` - Create an annotated tag on omnibus-gitlab corresponding to the GitLab tag. GitLab tag `v6.6.0` becomes omnibus-gitlab tag `6.6.0.omnibus`. ```shell git tag -a 6.6.0.omnibus -m 'Pin GitLab to v6.6.0' ``` - Push the branch and the tag to the main repository. ```shell git push origin 6-6-stable 6.6.0.omnibus ``` ## On the build machines ### One-time - Install release dependencies ```shell # Ubuntu sudo apt-get install python-pip # CentOS sudo yum install python-pip # Both sudo pip install awscli ``` # Make sure mail is installed ```shell # Ubuntu / Debian sudo apt-get install mailutils # Centos sudo yum install mail ``` As omnibus-build user: ```shell sudo su - omnibus-build ``` - Set up a deploy key to fetch the GitLab EE source code. - Put your email address in `~omnibus-build/.forward`. - Test email delivery: ```shell date | mail -s "testing from $(uname -n)" $(whoami) ``` - Configure aws credentials ```shell aws configure # enter AWS key and secret ``` - Set up the `attach.sh` script ```shell # Install screen first sudo apt-get install screen cat > attach.sh <