diff --git a/app/controllers/ci/projects_controller.rb b/app/controllers/ci/projects_controller.rb index 4b3b87aed..70e81310b 100644 --- a/app/controllers/ci/projects_controller.rb +++ b/app/controllers/ci/projects_controller.rb @@ -3,6 +3,7 @@ class Ci::ProjectsController < Ci::BaseController include RepositoriesHelper before_action :load_project + before_action :load_repo, only: [:update_trustie_pipeline] def authorize @user = current_user @@ -31,7 +32,7 @@ class Ci::ProjectsController < Ci::BaseController interactor = Gitea::UpdateFileInteractor.call(current_user.gitea_token, params[:owner], params.merge(identifier: @project.identifier)) if interactor.success? @file = interactor.result - Ci::Drone::API.new(current_user.cloud_account.drone_token, current_user.cloud_account.drone_url, params[:owner], @project.identifier, config_path: '.trustie-pipeline.yml').config_yml + @repo.config_trustie_pipeline render_result(1, "更新成功") else render_error(interactor.error) diff --git a/app/models/ci/remote_base.rb b/app/models/ci/remote_base.rb index ba2f5bbb1..349149fed 100644 --- a/app/models/ci/remote_base.rb +++ b/app/models/ci/remote_base.rb @@ -3,5 +3,8 @@ class Ci::RemoteBase < ApplicationRecord establish_connection Rails.configuration.database_configuration[Rails.env]["ci_server_db"] - + def generate_code + [*'a'..'z',*'0'..'9',*'A'..'Z'].sample(32).join + end + end diff --git a/app/models/ci/repo.rb b/app/models/ci/repo.rb index 8c82f4227..dbdd8b6a8 100644 --- a/app/models/ci/repo.rb +++ b/app/models/ci/repo.rb @@ -16,11 +16,13 @@ class Ci::Repo < Ci::RemoteBase [user, repo] end - def enable + def config_trustie_pipeline update_column(:repo_config, '.trustie-pipeline.yml') end def activate - + # repo_active、repo_signer、repo_secret、repo_updated + update_columns(repo_active: 1, repo_signer: generate_code, repo_secret: generate_code, repo_updated: Time.now.to_i) end + end