GitLab CI is a continuous integration solution made by the same team that made GitLab. A CI system allows you to run automated unit tests on every commit, and will warn you when a build is not successful. It is also possible to have a healthy build deployed automatically.
Since the same team that created GitLab created GitLab CI, it has a super nice integration with the GitLab system itself, is a breeze to set up, and is fully integrated in the GitLab interface.
You don't need two different usernames, since the GitLab CI system will work with the API provided by GitLab. Via the API, it can check whether credentials are correct, and whether someone has the right access to certain projects.
1 GB of memory is recommended, though 512 MB will work
2 CPU cores or more are recommended, though 1 CPU core will work...