diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-20 15:40:28 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-20 15:40:28 +0000 |
commit | b595cb0c1dec83de5bdee18284abe86614bed33b (patch) | |
tree | 8c3d4540f193c5ff98019352f554e921b3a41a72 /app/controllers/projects/google_cloud/deployments_controller.rb | |
parent | 2f9104a328fc8a4bddeaa4627b595166d24671d0 (diff) | |
download | gitlab-ce-b595cb0c1dec83de5bdee18284abe86614bed33b.tar.gz |
Add latest changes from gitlab-org/gitlab@15-2-stable-eev15.2.0-rc42
Diffstat (limited to 'app/controllers/projects/google_cloud/deployments_controller.rb')
-rw-r--r-- | app/controllers/projects/google_cloud/deployments_controller.rb | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/app/controllers/projects/google_cloud/deployments_controller.rb b/app/controllers/projects/google_cloud/deployments_controller.rb index 4867d344c5a..4aa17b36fad 100644 --- a/app/controllers/projects/google_cloud/deployments_controller.rb +++ b/app/controllers/projects/google_cloud/deployments_controller.rb @@ -3,32 +3,47 @@ class Projects::GoogleCloud::DeploymentsController < Projects::GoogleCloud::BaseController before_action :validate_gcp_token! + def index + @google_cloud_path = project_google_cloud_configuration_path(project) + js_data = { + configurationUrl: project_google_cloud_configuration_path(project), + deploymentsUrl: project_google_cloud_deployments_path(project), + databasesUrl: project_google_cloud_databases_path(project), + enableCloudRunUrl: project_google_cloud_deployments_cloud_run_path(project), + enableCloudStorageUrl: project_google_cloud_deployments_cloud_storage_path(project) + } + @js_data = js_data.to_json + track_event('deployments#index', 'success', js_data) + end + def cloud_run - params = { token_in_session: token_in_session } + params = { google_oauth2_token: token_in_session } enable_cloud_run_response = GoogleCloud::EnableCloudRunService .new(project, current_user, params).execute if enable_cloud_run_response[:status] == :error - track_event('deployments#cloud_run', 'enable_cloud_run_error', enable_cloud_run_response) + track_event('deployments#cloud_run', 'error_enable_cloud_run', enable_cloud_run_response) flash[:error] = enable_cloud_run_response[:message] - redirect_to project_google_cloud_index_path(project) + redirect_to project_google_cloud_deployments_path(project) else params = { action: GoogleCloud::GeneratePipelineService::ACTION_DEPLOY_TO_CLOUD_RUN } generate_pipeline_response = GoogleCloud::GeneratePipelineService .new(project, current_user, params).execute if generate_pipeline_response[:status] == :error - track_event('deployments#cloud_run', 'generate_pipeline_error', generate_pipeline_response) + track_event('deployments#cloud_run', 'error_generate_pipeline', generate_pipeline_response) flash[:error] = 'Failed to generate pipeline' - redirect_to project_google_cloud_index_path(project) + redirect_to project_google_cloud_deployments_path(project) else cloud_run_mr_params = cloud_run_mr_params(generate_pipeline_response[:branch_name]) - track_event('deployments#cloud_run', 'cloud_run_success', cloud_run_mr_params) + track_event('deployments#cloud_run', 'success', cloud_run_mr_params) redirect_to project_new_merge_request_path(project, merge_request: cloud_run_mr_params) end end - rescue Google::Apis::ClientError => error - handle_gcp_error('deployments#cloud_run', error) + rescue Google::Apis::ClientError, Google::Apis::ServerError, Google::Apis::AuthorizationError => error + track_event('deployments#cloud_run', 'error_gcp', error) + flash[:warning] = _('Google Cloud Error - %{error}') % { error: error } + redirect_to project_google_cloud_deployments_path(project) end def cloud_storage |