Skip to content
Snippets Groups Projects
Commit a85e11fa authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Improved seeds for development env

parent f0a6fbaa
No related branches found
No related tags found
No related merge requests found
Project.seed(:id, [
{ :id => 1, :name => "Rubinius", :path => "rubinius", :code => "rubinius", :owner_id => 1 },
{ :id => 2, :name => "Diaspora", :path => "diaspora", :code => "diaspora", :owner_id => 1 },
{ :id => 3, :name => "Ruby on Rails", :path => "ruby_on_rails", :code => "ruby_on_rails", :owner_id => 1 }
{ id: 1, name: "Underscore.js", path: "underscore", code: "underscore", owner_id: 1 },
{ id: 2, name: "Diaspora", path: "diaspora", code: "diaspora", owner_id: 1 },
{ id: 3, name: "Ruby on Rails", path: "rails", code: "rails", owner_id: 1 }
])
UsersProject.skip_callback(:save, :after, :update_repository)
UsersProject.seed(:id, [
{ :id => 1, :project_id => 1, :user_id => 1, :project_access => UsersProject::MASTER },
{ :id => 2, :project_id => 1, :user_id => 2, :project_access => UsersProject::REPORTER},
Loading
Loading
@@ -18,4 +20,8 @@ UsersProject.seed(:id, [
{ :id => 16, :project_id => 3, :user_id => 5, :project_access => UsersProject::MASTER}
])
 
UsersProject.set_callback(:save, :after, :update_repository)
 
puts "\nRebuild gitolite\n".yellow
Project.all.each(&:update_repository)
puts "OK".green
Note.seed(:id, [
{ :id => 1, :project_id => 1, :author_id => 1, :note => Faker::Lorem.sentence(6) },
{ :id => 2, :project_id => 1, :author_id => 2, :note => Faker::Lorem.sentence(6) },
{ :id => 3, :project_id => 1, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 4, :project_id => 1, :author_id => 4, :note => Faker::Lorem.sentence(6) },
{ :id => 5, :project_id => 1, :author_id => 5, :note => Faker::Lorem.sentence(6) },
{ :id => 6, :project_id => 2, :author_id => 1, :note => Faker::Lorem.sentence(6) },
{ :id => 7, :project_id => 2, :author_id => 2, :note => Faker::Lorem.sentence(6) },
{ :id => 8, :project_id => 2, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 9, :project_id => 2, :author_id => 4, :note => Faker::Lorem.sentence(6) },
{ :id => 11, :project_id => 2, :author_id => 5, :note => Faker::Lorem.sentence(6) },
{ :id => 12, :project_id => 3, :author_id => 1, :note => Faker::Lorem.sentence(6)},
{ :id => 13, :project_id => 3, :author_id => 2, :note => Faker::Lorem.sentence(6)},
{ :id => 14, :project_id => 3, :author_id => 3, :note => Faker::Lorem.sentence(6)},
{ :id => 15, :project_id => 3, :author_id => 4, :note => Faker::Lorem.sentence(6)},
{ :id => 16, :project_id => 3, :author_id => 5, :note => Faker::Lorem.sentence(6)},
{ :id => 21, :project_id => 1, :author_id => 1, :note => Faker::Lorem.sentence(6) },
{ :id => 22, :project_id => 1, :author_id => 2, :note => Faker::Lorem.sentence(6) },
{ :id => 23, :project_id => 1, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 24, :project_id => 1, :author_id => 4, :note => Faker::Lorem.sentence(6) },
{ :id => 25, :project_id => 1, :author_id => 5, :note => Faker::Lorem.sentence(6) },
{ :id => 26, :project_id => 2, :author_id => 1, :note => Faker::Lorem.sentence(6) },
{ :id => 27, :project_id => 2, :author_id => 2, :note => Faker::Lorem.sentence(6) },
{ :id => 28, :project_id => 2, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 29, :project_id => 2, :author_id => 4, :note => Faker::Lorem.sentence(6) },
{ :id => 30, :project_id => 2, :author_id => 5, :note => Faker::Lorem.sentence(6) },
{ :id => 32, :project_id => 3, :author_id => 1, :note => Faker::Lorem.sentence(6)},
{ :id => 33, :project_id => 3, :author_id => 2, :note => Faker::Lorem.sentence(6)},
{ :id => 34, :project_id => 3, :author_id => 3, :note => Faker::Lorem.sentence(6)},
{ :id => 35, :project_id => 3, :author_id => 4, :note => Faker::Lorem.sentence(6)},
{ :id => 36, :project_id => 3, :author_id => 5, :note => Faker::Lorem.sentence(6)}
])
Gitlab::Seeder.quiet do
(1..300).each do |i|
# Random Project
project_id = rand(2) + 1
project = Project.find(project_id)
# Random user
user = project.users.sample
user_id = user.id
Note.seed(:id, [{
id: i,
project_id: project_id,
author_id: user_id,
note: Faker::Lorem.sentence(6)
}])
print('.')
end
end
(1..300).each do |i|
# Random Project
project_id = rand(2) + 1
project = Project.find(project_id)
Gitlab::Seeder.quiet do
(1..300).each do |i|
# Random Project
project_id = rand(2) + 1
project = Project.find(project_id)
 
# Random user
user = project.users.sample
user_id = user.id
IssueObserver.current_user = user
# Random user
user = project.users.sample
user_id = user.id
IssueObserver.current_user = user
 
Issue.seed(:id, [{
id: i,
project_id: project_id,
author_id: user_id,
assignee_id: user_id,
closed: [true, false].sample,
milestone: project.milestones.sample,
title: Faker::Lorem.sentence(6)
}])
Issue.seed(:id, [{
id: i,
project_id: project_id,
author_id: user_id,
assignee_id: user_id,
closed: [true, false].sample,
milestone: project.milestones.sample,
title: Faker::Lorem.sentence(6)
}])
print('.')
end
end
(1..300).each do |i|
# Random Project
project_id = rand(2) + 1
project = Project.find(project_id)
Gitlab::Seeder.quiet do
(1..300).each do |i|
# Random Project
project_id = rand(2) + 1
project = Project.find(project_id)
 
# Random user
user = project.users.sample
user_id = user.id
MergeRequestObserver.current_user = user
# Random user
user = project.users.sample
user_id = user.id
MergeRequestObserver.current_user = user
 
MergeRequest.seed(:id, [{
id: i,
source_branch: 'master',
target_branch: 'feature',
project_id: project_id,
author_id: user_id,
assignee_id: user_id,
closed: [true, false].sample,
milestone: project.milestones.sample,
title: Faker::Lorem.sentence(6)
}])
MergeRequest.seed(:id, [{
id: i,
source_branch: 'master',
target_branch: 'feature',
project_id: project_id,
author_id: user_id,
assignee_id: user_id,
closed: [true, false].sample,
milestone: project.milestones.sample,
title: Faker::Lorem.sentence(6)
}])
print('.')
end
end
root = Gitlab.config.git_base_path
projects = [
{ path: 'underscore.git', git: 'https://github.com/documentcloud/underscore.git' },
{ path: 'diaspora.git', git: 'https://github.com/diaspora/diaspora.git' },
{ path: 'rails.git', git: 'https://github.com/rails/rails.git' },
]
projects.each do |project|
project_path = File.join(root, project[:path])
next if File.exists?(project_path)
cmds = [
"cd #{root} && sudo -u git -H git clone --bare #{project[:git]}",
"sudo cp ./lib/hooks/post-receive #{project_path}/hooks/post-receive",
"sudo chown git:git #{project_path}/hooks/post-receive"
]
cmds.each do |cmd|
puts cmd.yellow
`#{cmd}`
end
end
puts "OK".green
module Gitlab
class Seeder
def self.quiet
SeedFu.quiet = true
yield
SeedFu.quiet = false
puts "\nOK".green
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment