Gitlab is so far the most popular self-hosted code collaboration platform today. You can either run it on your own infrastructure or use their hosted version at gitlab.com. Its completely open to public (view on github) and perfect for individuals and teams of various sizes. Unfortunately, most of the CI services (Travis, Circle, etc) out there does not support anything except Github or Bitbucket.
Magnum CI brings direct support to both self-hosted and hosted Gitlab applications. You can now easily hook your application and run tests in a matter of minutes. This post will show how to get started.
Connect repository to Magnum CI
Assuming that you already have an existing repository on Gitlab, go ahead and create a new project on Magnum CI. You will see the following service integration screen right after.
Copy the web hook url from Step 1 textfield and open repository settings on gitlab. Navigate to "Web Hooks" section and create a new hook from previously copied url.
Copy deploy key from Magnum CI project integration screen from Step 2 textfield and navigate to "Deploy Keys" section. Paste key contents and hit "Create".
You're done. Next step would be testing a web hook if you have any commits in the repository, or by simply pushing a new code update to the repository.
Basically, Magnum CI works pretty much with anything that supports git/mercurial over SSH. It allocates SSH keys pair for each project. So if you're rolling your own Gitlab setup it will work as long as there is access to the server from outside. Every time you do code push, Magnum CI will receive a web hook payload with commit details and will trigger a new build by cloning repository and checking out specified code revision.
Codebase, database content or anything else from repository is not being stored after build execution is complete. Builds are executed in isolated environment that is permanently destroyed after completion. Repository code is never being accessed by any crew member without a written permission and only in cases of troubleshooting. For any questions hit [email protected]
Unlimited private projects
Build execution is limited by 30 minutes
Deep build customizations
Automatic code dependencies checks
Languages: Ruby, Node.js, Go, PHP, Python
Databases: PostgreSQL, MySQL, MongoDB, Redis, Memcached, ElasticSearch, Beanstalk
Got interested? Signup for Magnum CI today!