namespace :gitlab do namespace :satellites do desc "GITLAB | Create satellite repos" task create: :environment do create_satellites end end def create_satellites warn_user_is_not_gitlab print "Creating satellites for ..." unless Project.count > 0 puts "skipping, because you have no projects".magenta return end puts "" Project.find_each(batch_size: 100) do |project| print "#{project.name_with_namespace.yellow} ... " unless project.repo_exists? puts "skipping, because the repo is empty".magenta next end if project.satellite.exists? puts "exists already".green else puts "" project.satellite.create print "... " if $?.success? puts "created".green else puts "error".red end end end end end