Make the CI migration smoother
After some brainstorming @marin and I came up with the following ideas to make the CI migration smoother.
Main ideas:
- The final CI export should create just 1 archive containing a DB dump and the build logs
- It should be possible to import a 'final CI export' into a GitLab 8.0 instance while it is online
- We should have a final 7.14.x CI release that contains all the necessary scripts
Then the upgrade procedure would be:
On CI
- Upgrade CI to final 7.14
- Shut down CI, create backup
- Generate export archive using a single rake command
On GitLab
- Update GitLab to 8.0 and turn off its CI
- Copy the export archive to the GitLab server (which is online!)
- Import the CI export archive (with GitLab online)
- Enable CI in GitLab 8.0
- (omnibus) update CI to 8.0 to get the NGINX redirects
Doing it like this decouples the CI migration from the GitLab 8.0 update, and it avoids long combined downtime.
If we do this we need to improve the CI export/import scripts, make it possible to disable CI in GitLab 8.0, and release the final 7.14 CI version that has the integrated export scripts.
What do you think @ayufan ?