diff --git a/app/models/project_services/gitlab_ci_service.rb b/app/models/project_services/gitlab_ci_service.rb
deleted file mode 100644
index bbc312f521555c8bc02516cc32bcc3c1acd6fde6..0000000000000000000000000000000000000000
--- a/app/models/project_services/gitlab_ci_service.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# TODO(ayufan): The GitLabCiService is deprecated and the type should be removed when the database entries are removed
-class GitlabCiService < CiService
-  # We override the active accessor to always make GitLabCiService disabled
-  # Otherwise the GitLabCiService can be picked, but should never be since it's deprecated
-  def active
-    false
-  end
-end
diff --git a/app/models/service.rb b/app/models/service.rb
index 043be222f3a40155b291da53b4a575d3f325e4b3..facaaf9b331e02182370af813574a027c64d4c4f 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -27,7 +27,7 @@ class Service < ActiveRecord::Base
 
   validates :project_id, presence: true, unless: Proc.new { |service| service.template? }
 
-  scope :visible, -> { where.not(type: ['GitlabIssueTrackerService', 'GitlabCiService']) }
+  scope :visible, -> { where.not(type: 'GitlabIssueTrackerService') }
   scope :issue_trackers, -> { where(category: 'issue_tracker') }
   scope :external_wikis, -> { where(type: 'ExternalWikiService').active }
   scope :active, -> { where(active: true) }
diff --git a/changelogs/unreleased/zj-remove-deprecated-ci-service.yml b/changelogs/unreleased/zj-remove-deprecated-ci-service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..044f4ae627d951d6e565673ea700d8714e130b05
--- /dev/null
+++ b/changelogs/unreleased/zj-remove-deprecated-ci-service.yml
@@ -0,0 +1,4 @@
+---
+title: Remove deprecated GitlabCiService
+merge_request:
+author:
diff --git a/db/post_migrate/20170214111112_delete_deprecated_gitlab_ci_service.rb b/db/post_migrate/20170214111112_delete_deprecated_gitlab_ci_service.rb
new file mode 100644
index 0000000000000000000000000000000000000000..09a827d22b06cd70b0ed5bf8a673d86741eee993
--- /dev/null
+++ b/db/post_migrate/20170214111112_delete_deprecated_gitlab_ci_service.rb
@@ -0,0 +1,15 @@
+class DeleteDeprecatedGitlabCiService < ActiveRecord::Migration
+  include Gitlab::Database::MigrationHelpers
+
+  DOWNTIME = false
+
+  def up
+    disable_statement_timeout
+
+    execute("DELETE FROM services WHERE type = 'GitlabCiService';")
+  end
+
+  def down
+    # noop
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 3dde4b9c82b9fae177d23c7a8f45435c37811e5d..52672406ec643bb62e98b591b66412594516a358 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20170211073944) do
+ActiveRecord::Schema.define(version: 20170214111112) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -1351,4 +1351,4 @@ ActiveRecord::Schema.define(version: 20170211073944) do
   add_foreign_key "timelogs", "merge_requests", name: "fk_timelogs_merge_requests_merge_request_id", on_delete: :cascade
   add_foreign_key "trending_projects", "projects", on_delete: :cascade
   add_foreign_key "u2f_registrations", "users"
-end
+end
\ No newline at end of file