diff --git a/app/controllers/sync_forge_controller.rb b/app/controllers/sync_forge_controller.rb index 15e3be517..62d8a079b 100644 --- a/app/controllers/sync_forge_controller.rb +++ b/app/controllers/sync_forge_controller.rb @@ -2,7 +2,7 @@ class SyncForgeController < ApplicationController before_action :check_token def create - Rails.logger.info("=================request.subdomain:#{request.subdomain}========") + ActiveRecord::Base.transaction do params.permit! sync_params = params[:sync_params] @@ -32,13 +32,7 @@ class SyncForgeController < ApplicationController Rails.logger.info("=================new_project_score:#{new_project_score.try(:id)}========") end - gitea_main = "testgitea.trustie.net" - if request.subdomain === 'testforgeplus' - gitea_main = "testgitea2.trustie.net" - elsif request.subdomain === 'forge' - gitea_main = "gitea.trustie.net" - end - SyncRepositoryJob.perform_later(project.repository, sync_params[:repository], gitea_main) if sync_params[:repository].present? + SyncRepositoryJob.perform_later(sync_params[:owner_login], sync_params[:identifier], sync_params[:repository], get_sudomain) if sync_params[:repository].present? check_new_project(project, sync_params) end end @@ -149,7 +143,7 @@ class SyncForgeController < ApplicationController pre_project_score[:"#{k}"] = v end if k == "changeset_num" && v.to_i > pre_project_score.changeset_num.to_i && repository_params[:url].present? - SyncRepositoryJob.perform_later(project.repository, repository_params) + SyncRepositoryJob.perform_later(project.owner.try(:login), project.identifier, repository_params, get_sudomain) end end pre_project_score.save! if change_num > 0 #如果 project_score有变化则更新 @@ -254,4 +248,15 @@ class SyncForgeController < ApplicationController "34c82f51e0b699d9d16d70fd6497c9b1e4821d6ea3e872558a6537a091076b8e" end + def get_sudomain + Rails.logger.info("=================request.subdomain:#{request.subdomain}========") + gitea_main = "testgitea.trustie.net" + if request.subdomain === 'testforgeplus' + gitea_main = "testgitea2.trustie.net" + elsif request.subdomain === 'forge' + gitea_main = "gitea.trustie.net" + end + return gitea_main + end + end \ No newline at end of file diff --git a/app/jobs/sync_projects_job.rb b/app/jobs/sync_projects_job.rb index fcfbadefe..00ff4b9ea 100644 --- a/app/jobs/sync_projects_job.rb +++ b/app/jobs/sync_projects_job.rb @@ -17,6 +17,8 @@ class SyncProjectsJob < ApplicationJob http = Net::HTTP.new(uri.hostname, uri.port) http.use_ssl = true response = http.send_request('GET', uri.path, sync_params, {'Content-Type' => 'application/json'}) + SyncLog.sync_log("==========response_status:#{response.status}============") + SyncLog.sync_log("==========response_body:#{response.body}============") if response.status == 200 target_jsons = response.body SyncLog.sync_log("=========target_jsons: #{target_jsons}============") @@ -48,7 +50,7 @@ class SyncProjectsJob < ApplicationJob def create_target(project, target_jsons, target_type) - Rails.logger.info("***111222. begin_to_create_target---------------") + Rails.logger.info("***【#{target_type}】. begin_to_create_target---------------") target_jsons.each do |re| if re[:target_params].present? Rails.logger.info("***user_login:#{re[:user_login]}----target_type:#{target_type}") diff --git a/app/jobs/sync_repository_job.rb b/app/jobs/sync_repository_job.rb index 0d960c119..dd979e73e 100644 --- a/app/jobs/sync_repository_job.rb +++ b/app/jobs/sync_repository_job.rb @@ -3,23 +3,23 @@ class SyncRepositoryJob < ApplicationJob #同步 trustie的仓库 - def perform(repository, repository_params, gitea_main) + def perform(user_login, identifier, repository_params, gitea_main) #创建临时文件夹 clone 并强推代码 SyncLog.sync_log("=================begin to sync request trustie repository=====================") SyncLog.sync_log("=================begin to sync repository_params:==#{repository_params}===================") - SyncLog.sync_log("=================repository_url:==#{repository_params[:url]}===================") + SyncLog.sync_log("=================repository_url:==#{repository_params[:git_url]}===================") path = "#{Rails.root}/public/cache_repository" unless File.directory?(path) FileUtils.mkdir_p(path) end - image_url = repository_params[:url] + image_url = repository_params[:git_url] g_default_branch = repository_params[:default_branch] image_repo_name = image_url.to_s.split('/')&.last&.chomp('.git') check_clone = system("cd #{path} and git clone #{image_url}") if check_clone - new_gitlab_url = "http://root:_Trustie_10010@#{gitea_main}/#{repository.user.login}/#{repository.identifier}.git" + new_gitlab_url = "http://root:_Trustie_10010@#{gitea_main}/#{user_login}/#{identifier}.git" shell_remote_1 = system("cd #{path}/#{image_repo_name} && git remote set-url origin #{new_gitlab_url}")