Custom demo build procedure

Procedure for creating a custom image for the idea-to-production demo


  • create a custom branch on gitlab-ce that contains all the custom code you want

  • Runner registration not in master yet: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6642

  • push the gitlab-ce branch to DEV (dev.gitlab.org)

  • checkout new omnibus-gitlab branch

  • modify the VERSION file to use buildfrombranch:your-gitlab-ce-branch

  • make any other omnibus changes needed (custom mattermost fork?)

  • push your omnibus branch to dev

  • dev ci runners will build your package, in the ci terminal for 16.04 it will spit out the s3 location of the deb file

  • back in omnibus-gitlab edit docker/assets/setup.rb

    • Drop the call to source /RELEASE
    • Replace the Download & Install GitLab block with:

Download & Install GitLab

mkdir /pkg pushd /pkg wget popd dpkg -i /pkg/*.deb rm -rf /pkg ```

  • from the omnibus-gitlab project root run docker build --pull -t ur-hub-namspace/gitlab-ce:pick-a-tag -f docker/Dockerfile docker/
  • push the build to docker hub
  • in omnibus-gitlab checkout the openshift-idea-to-production branch
  • edit docker/openshift/idea-2-prod-template.json
  • change the gitlab 8.13.0 image stream image to point at your custom image
  • login to the cluster using the oc login https://origin.gitlap.com:8443
  • delete the old template using oc delete template/gitlab-ce -n openshift
  • add the new template using oc create -f docker/openshift/idea-2-prod-template.json -n openshift

If you don't have the oc command line tools installed, you can alternatively ssh into origin.gitlap.com and run the commands from there. You can run oc edit template/gitlab-ce -n openshift and change the image to your custom build that way instead of deleting/creating the template if you want.


cc\ @ayufan