如何导入一个GitLab组的成员到另一个
答
唯一的原生功能,接近是lib/tasks/gitlab/bulk_add_permission.rake
,这是中提到的“User management”
# omnibus-gitlab
sudo gitlab-rake gitlab:import:all_users_to_all_groups
# installation from source
bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production
你可以把它看作一个模型来开发我们自己的任务。
答
我不知道这样的功能。但是你可以用API编写脚本。我们在这里使用它来将所有用户添加到一个组中(所有用户到所有组都不适合我们的情况)。
帮助文档:http://doc.gitlab.com/ce/api/README.html,http://doc.gitlab.com/ce/api/users.html和http://doc.gitlab.com/ce/api/groups.html
还有另一个问题可能是有益的,名单也不同模块各种编程语言的一个回应:Is there a way to add users automatically into gitlab?
答
我一直在寻找一个解决方案将所有Gitlab用户分配给一个特定的组。
这里的解决方案:
创建这个文件:
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/finder_import.rake
有了这个内容:
namespace :gitlab do namespace :finder do desc "GitLab | Add all users to group Colaboradores (admin users are added as owners)" task importall: :environment do |t, args| user_ids = User.where(admin: false).pluck(:id) admin_ids = User.where(admin: true).pluck(:id) groups = Group.where(name: "Colaboradores") puts "Importing #{user_ids.size} users into #{groups.size} groups" puts "Importing #{admin_ids.size} admins into #{groups.size} groups" groups.each do |group| puts "Importing into #{group.name}" group.add_users(user_ids, GroupMember::DEVELOPER) group.add_users(admin_ids, GroupMember::OWNER) end end
月底结束
运行以下命令:
gitlab耙gitlab:取景器:importall
就在几个错别字 – superluminary 2015-03-19 10:47:08
@momme嗨 - 欢迎到现场。希望你得到你正在寻找的答案。 – superluminary 2015-03-19 10:47:44