[Solved] GitLab -> GitLab CI 7.11.4 WebHook Error

I’m running GitLab 7.11.4 and GitLab CI 7.11.4, both installed via the Omnibus package. I’ve been running GitLab for awhile now, but have only just recently enabled the CI service. I have successfully setup GitLab and CI so that they’re accessible at [code.subdomain.com] and [ci.subdomain.com] respectively. I’ve followed the instructions to enable CI access for one specific project, I’ve setup a runner, and I’ve made one test shell script (echo "Hello world!" && exit 0)

This is where I hit problems. I’m supposed to visit my GitLab project settings page and hit “Test settings”. When I do this, I receive the error We tried to send a request to the provided URL but an error occured. gitlab-rails/production.log shows this:

==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/[namespace]/[project]/services/gitlab_ci/test" for 127.0.0.1 at 2015-06-17 13:33:54 -0400
Processing by Projects::ServicesController#test as HTML
Parameters: {"namespace_id"=>"[namespace]", "project_id"=>"[project]", "id"=>"gitlab_ci"}
WebHook Error => getaddrinfo: Name or service not known
Redirected to https://code.subdomain.com/[namespace]/[project]/services/gitlab_ci/edit
Completed 302 Found in 199ms (ActiveRecord: 14.7ms)

I’ve replaced [namespace] and [project] in that log, but they do show the correct entries.

GitLab CI never seems to receive the request and trying to do a test commit on my project also doesn’t trigger GitLab CI. I’m at a loss for what to do and can’t seem to find any documentation on what might be causing this issue. Any help or direction is much appreciated.

Can anyone point me to an easy way to see the data package and post command that the WebHook is supposed to be sending out. I want to verify that this webhook is sending info to the right url and that the data is using the correct authorization.

Problem sort of solved. I had to add a loopback reference into /etc/hosts for ci.subdomain.com.

127.0.2.1       ci.subdomain.com    ci

This seems like maybe something I shouldn’t have to do if my DNS has properly published my domain? Maybe someone can clarify why this was required.