mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-10 21:26:07 +10:00
- It delegates name, path, gitlab_url, ssh_url_to_repo - Remove ability to set this parameters using CI API This fixes GitLab project rename, namespace change, repository rename, etc.
73 lines
2.1 KiB
Ruby
73 lines
2.1 KiB
Ruby
module Ci
|
|
class Admin::RunnersController < Ci::Admin::ApplicationController
|
|
before_action :runner, except: :index
|
|
|
|
def index
|
|
@runners = Ci::Runner.order('id DESC')
|
|
@runners = @runners.search(params[:search]) if params[:search].present?
|
|
@runners = @runners.page(params[:page]).per(30)
|
|
@active_runners_cnt = Ci::Runner.where("contacted_at > ?", 1.minutes.ago).count
|
|
end
|
|
|
|
def show
|
|
@builds = @runner.builds.order('id DESC').first(30)
|
|
@projects = Ci::Project.all
|
|
if params[:search].present?
|
|
@gl_projects = ::Project.search(params[:search])
|
|
@projects = @projects.where(gitlab_id: @gl_projects.select(:id))
|
|
end
|
|
@projects = @projects.where("ci_projects.id NOT IN (?)", @runner.projects.pluck(:id)) if @runner.projects.any?
|
|
@projects = @projects.page(params[:page]).per(30)
|
|
end
|
|
|
|
def update
|
|
@runner.update_attributes(runner_params)
|
|
|
|
respond_to do |format|
|
|
format.js
|
|
format.html { redirect_to ci_admin_runner_path(@runner) }
|
|
end
|
|
end
|
|
|
|
def destroy
|
|
@runner.destroy
|
|
|
|
redirect_to ci_admin_runners_path
|
|
end
|
|
|
|
def resume
|
|
if @runner.update_attributes(active: true)
|
|
redirect_to ci_admin_runners_path, notice: 'Runner was successfully updated.'
|
|
else
|
|
redirect_to ci_admin_runners_path, alert: 'Runner was not updated.'
|
|
end
|
|
end
|
|
|
|
def pause
|
|
if @runner.update_attributes(active: false)
|
|
redirect_to ci_admin_runners_path, notice: 'Runner was successfully updated.'
|
|
else
|
|
redirect_to ci_admin_runners_path, alert: 'Runner was not updated.'
|
|
end
|
|
end
|
|
|
|
def assign_all
|
|
Ci::Project.unassigned(@runner).all.each do |project|
|
|
@runner.assign_to(project, current_user)
|
|
end
|
|
|
|
redirect_to ci_admin_runner_path(@runner), notice: "Runner was assigned to all projects"
|
|
end
|
|
|
|
private
|
|
|
|
def runner
|
|
@runner ||= Ci::Runner.find(params[:id])
|
|
end
|
|
|
|
def runner_params
|
|
params.require(:runner).permit(:token, :description, :tag_list, :contacted_at, :active)
|
|
end
|
|
end
|
|
end
|