From 3c7b25746202d1772222a297f0216d16b5c801e5 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Wed, 22 Jul 2020 14:28:54 +0800 Subject: [PATCH] =?UTF-8?q?FIX=20devops=20=E6=89=80=E6=9C=89=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E7=9B=B8=E5=85=B3=E7=9A=84=E8=AF=B7=E6=B1=82=E5=8F=82?= =?UTF-8?q?=E6=95=B0repo=5Fid=20=E6=94=B9=E4=B8=BAproject=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 29 +++++++++--------- app/controllers/dev_ops/builds_controller.rb | 30 +++++++++---------- .../dev_ops/cloud_accounts_controller.rb | 12 ++++---- .../dev_ops/create_cloud_account_form.rb | 4 +-- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index e98789b26..8dc5546a3 100644 --- a/README.md +++ b/README.md @@ -2368,7 +2368,7 @@ curl -X POST \ -d "account=xx" \ -d "secret=xxx" \ -d "ip_num=xx.xx.xx.xx" \ --d "repo_id=5988" \ +-d "project_id=5988" \ https://localhost:3000/api/dev_ops/cloud_accounts.json | jq ``` @@ -2379,7 +2379,7 @@ https://localhost:3000/api/dev_ops/cloud_accounts.json | jq |account |是|string |云服务器ssh连接登录用户名 | |secret |是|string |云服务器ssh连接登录秘密 | |ip_num |否|string |云服务器公网IP | -|repo_id |否|string |repository id| +|project_id |否|string |project's id| *返回参数说明:* @@ -2406,14 +2406,14 @@ GET /api/dev_ops/builds/get_trustie_pipeline *示例* ``` curl -X GET \ --d "id=4844" \ +-d "project_id=4844" \ http://localhost:3000/api/dev_ops/builds/get_trustie_pipeline.json | jq ``` *请求参数说明:* |参数名|必选|类型|说明| |-|-|-|-| -|id |是|int |repository's id | +|project_id |是|int |project's id | |ref |否|string |分支名称、tag名称或是提交记录id,默认为master分支 | @@ -2421,7 +2421,6 @@ http://localhost:3000/api/dev_ops/builds/get_trustie_pipeline.json | jq |参数名|类型|说明| |-|-|-| -|id |int |id | |name |string|文件夹或文件名称| |path |string|文件夹或文件相对路径| |content |string|文件内容,| @@ -2544,7 +2543,7 @@ GET /api/dev_ops/builds *示例* ``` curl -X GET \ --d 'id=4844' \ +-d 'project_id=4844' \ http://localhost:3000/api/dev_ops/builds | jq ``` @@ -2552,7 +2551,7 @@ http://localhost:3000/api/dev_ops/builds | jq |参数名|必选|类型|说明| |-|-|-|-| -|id |是|int |repository's id | +|project_id |是|int |project's id | *返回参数说明:* @@ -2606,7 +2605,7 @@ GET /api/dev_ops/builds/:number *示例* ``` curl -X GET \ --d 'id=4844' \ +-d 'project_id=4844' \ http://ocalhost:3000/api/dev_ops/builds/1 | jq ``` @@ -2614,7 +2613,7 @@ http://ocalhost:3000/api/dev_ops/builds/1 | jq |参数名|必选|类型|说明| |-|-|-|-| -|id |int|repository's id| +|project_id |int|project's id| |number |是|int |build's number | *返回参数说明:* @@ -2714,7 +2713,7 @@ POST /api/dev_ops/builds/:number *示例* ``` curl -X POST \ --d 'id=4844' \ +-d 'project_id=4844' \ http://localhost:3000/api/dev_ops/builds/1 | jq ``` @@ -2722,7 +2721,7 @@ http://localhost:3000/api/dev_ops/builds/1 | jq |参数名|必选|类型|说明| |-|-|-|-| -|id |int|repository's id| +|project_id |int|project's id| |number |是|int |build's number | *返回参数说明:* @@ -2774,7 +2773,7 @@ DELETE /api/dev_ops/builds/:number *示例* ``` curl -X DELETE \ --d 'id=4844' \ +-d 'project_id=4844' \ http://localhost:3000/api/dev_ops/builds/2 | jq ``` @@ -2782,7 +2781,7 @@ http://localhost:3000/api/dev_ops/builds/2 | jq |参数名|必选|类型|说明| |-|-|-|-| -|id |int|repository's id| +|project_id |int|project's id| |number |是|int |build's number | *返回参数说明:* @@ -2882,7 +2881,7 @@ GET /api/dev_ops/builds/:number/logs/:stage/:step *示例* ``` curl -X GET \ --d 'id=4844' \ +-d 'project_id=4844' \ http://localhost:3000/api/dev_ops/builds/2/logs/1/1 | jq ``` @@ -2890,7 +2889,7 @@ http://localhost:3000/api/dev_ops/builds/2/logs/1/1 | jq |参数名|必选|类型|说明| |-|-|-|-| -|id |int|repository's id| +|project_id |int|project's id| |number |是|int |build's number | |stage |是|int |build's stage number | |step |是|int |build's step number | diff --git a/app/controllers/dev_ops/builds_controller.rb b/app/controllers/dev_ops/builds_controller.rb index b7829c634..72943d7e7 100644 --- a/app/controllers/dev_ops/builds_controller.rb +++ b/app/controllers/dev_ops/builds_controller.rb @@ -1,39 +1,39 @@ -class ::DevOps::BuildsController < ApplicationController +class DevOps::BuildsController < ApplicationController include RepositoriesHelper before_action :require_login - before_action :find_repo + before_action :find_project def index - cloud_account = @repo.dev_ops_cloud_account - result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @repo.user.login, @repo.identifier).builds + cloud_account = @project.dev_ops_cloud_account + result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @project.owner.login, @project.identifier).builds render json: result end def detail - cloud_account = @repo.dev_ops_cloud_account - result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @repo.user.login, @repo.identifier, number: params[:number]).build + cloud_account = @project.dev_ops_cloud_account + result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @project.owner.login, @project.identifier, number: params[:number]).build render json: result end def restart - cloud_account = @repo.dev_ops_cloud_account - result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @repo.user.login, @repo.identifier, number: params[:number]).restart + cloud_account = @project.dev_ops_cloud_account + result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @project.owner.login, @project.identifier, number: params[:number]).restart render json: result end def delete - cloud_account = @repo.dev_ops_cloud_account - result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @repo.user.login, @repo.identifier, number: params[:number]).stop + cloud_account = @project.dev_ops_cloud_account + result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @project.owner.login, @project.identifier, number: params[:number]).stop render json: result end def logs - cloud_account = @repo.dev_ops_cloud_account - result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @repo.user.login, @repo.identifier, build: params[:number], stage: params[:stage], step: params[:step]).logs + cloud_account = @project.dev_ops_cloud_account + result = DevOps::Drone::API.new(cloud_account.drone_token, cloud_account.drone_url, @project.owner.login, @project.identifier, build: params[:number], stage: params[:stage], step: params[:step]).logs render json: result end @@ -41,7 +41,7 @@ class ::DevOps::BuildsController < ApplicationController # get .trustie-pipeline.yml file def get_trustie_pipeline file_path_uri = URI.parse('.trustie-pipeline.yml') - interactor = Repositories::EntriesInteractor.call(@repo.user, @repo.identifier, file_path_uri, ref: params[:ref] || "master") + interactor = Repositories::EntriesInteractor.call(@project.owner, @project.identifier, file_path_uri, ref: params[:ref] || "master") if interactor.success? file = interactor.result return render json: {} if file[:status] @@ -52,7 +52,7 @@ class ::DevOps::BuildsController < ApplicationController end private - def find_repo - @repo = ::Repository.find params[:id] + def find_project + @project = Project.find params[:project_id] end end diff --git a/app/controllers/dev_ops/cloud_accounts_controller.rb b/app/controllers/dev_ops/cloud_accounts_controller.rb index 3d3663cf6..c7c445d88 100644 --- a/app/controllers/dev_ops/cloud_accounts_controller.rb +++ b/app/controllers/dev_ops/cloud_accounts_controller.rb @@ -14,13 +14,13 @@ class DevOps::CloudAccountsController < ApplicationController logger.info "######### create_params: #{create_params}" - if cloud_account = @repo.dev_ops_cloud_account + if cloud_account = @project.dev_ops_cloud_account return render_error('该仓库已绑定了云帐号.') else cloud_account = DevOps::CloudAccount.new(create_params) cloud_account.user = current_user - cloud_account.repo_id = @repo.id - cloud_account.project_id = @repo.project.id + cloud_account.repo_id = @project.repository.id + cloud_account.project_id = @project.id cloud_account.save! end @@ -32,7 +32,7 @@ class DevOps::CloudAccountsController < ApplicationController redirect_uri: gitea_oauth['redirect_uris'], gitea_oauth_id: gitea_oauth['id'], user_id: current_user.id, - project_id: @repo.project.id) + project_id: @project.id) oauth.save rpc_secret = SecureRandom.hex 16 @@ -64,10 +64,10 @@ class DevOps::CloudAccountsController < ApplicationController private def devops_params - params.permit(:account, :secret, :ip_num, :repo_id) + params.permit(:account, :secret, :ip_num, :project_id) end def find_project - @repo = Repository.find params[:repo_id] + @project = Project.find params[:project_id] end end diff --git a/app/forms/dev_ops/create_cloud_account_form.rb b/app/forms/dev_ops/create_cloud_account_form.rb index e17edc5ba..2d1752b74 100644 --- a/app/forms/dev_ops/create_cloud_account_form.rb +++ b/app/forms/dev_ops/create_cloud_account_form.rb @@ -1,9 +1,9 @@ class DevOps::CreateCloudAccountForm include ActiveModel::Model - attr_accessor :repo_id, :ip_num, :account, :secret + attr_accessor :project_id, :ip_num, :account, :secret - validates :repo_id, :account, :secret, presence: true + validates :project_id, :account, :secret, presence: true validates :ip_num, presence: true, format: { with: CustomRegexp::IP, multiline: true, message: 'IP 地址格式不对' } end