diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2019-09-06 11:41:43 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2019-09-06 11:41:43 +0000 |
commit | 78174ece93591d5c02b52c9539d4a753aa5ef33c (patch) | |
tree | c48186076c0925423e61c6ce2821423e92f292e0 /app/services | |
parent | 9c549ad51b9b168a787bae555f2e6895e70f3986 (diff) | |
parent | c34240d26fdcf447ee86172a81c0fc56fcaf9cbc (diff) | |
download | gitlab-ce-78174ece93591d5c02b52c9539d4a753aa5ef33c.tar.gz |
Merge branch 'sh-add-sidekiq-logging-for-bad-ci' into 'master'
Log errors for failed pipeline creation in PostReceive
See merge request gitlab-org/gitlab-ce!32633
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/git/base_hooks_service.rb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/app/services/git/base_hooks_service.rb b/app/services/git/base_hooks_service.rb index 47c308c8280..35a4d2015fa 100644 --- a/app/services/git/base_hooks_service.rb +++ b/app/services/git/base_hooks_service.rb @@ -57,7 +57,9 @@ module Git Ci::CreatePipelineService .new(project, current_user, pipeline_params) - .execute(:push, pipeline_options) + .execute!(:push, pipeline_options) + rescue Ci::CreatePipelineService::CreateError => ex + log_pipeline_errors(ex) end def execute_project_hooks @@ -125,5 +127,29 @@ module Git project.mark_stuck_remote_mirrors_as_failed! project.update_remote_mirrors end + + def log_pipeline_errors(exception) + data = { + class: self.class.name, + correlation_id: Labkit::Correlation::CorrelationId.current_id.to_s, + project_id: project.id, + project_path: project.full_path, + message: "Error creating pipeline", + errors: exception.to_s, + pipeline_params: pipeline_params + } + + logger.warn(data) + end + + def logger + if Sidekiq.server? + Sidekiq.logger + else + # This service runs in Sidekiq, so this shouldn't ever be + # called, but this is included just in case. + Gitlab::ProjectServiceLogger + end + end end end |