Sha256: 9acd85b43b41e93b3eb6c8a6f95d1f00ce31e4723fdddbebb434d00bf2b51793

Contents?: true

Size: 1.6 KB

Versions: 32

Compression:

Stored size: 1.6 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../utilities')

Capistrano::Configuration.instance(true).load do
  
	namespace :gitosis do
		desc "install Gitosis"
		task :install do
			gitosis.install_packages
			gitosis.setup_packages
			gitosis.setup_git_user
			gitosis.copy_ssh
			gitosis.set_permissions
		end
		
		desc "install all necessary packages"
		task :install_packages do
			utilities.apt_install %[git-core python-setuptools]
		end
		before "gitosis:install_packages", "aptitude:updates"

		desc "setup packages"
		task :setup_packages do
			run "mkdir -p ~/src"
			run "cd ~/src; git clone git://eagain.net/gitosis.git"
			run "cd ~/src/gitosis; #{sudo} python setup.py install"
		end

		desc "setup git user"
		task :setup_git_user do
			sudo "adduser --system --shell /bin/sh --gecos \'git version control\' --group --disabled-password --home /home/git git"
		end
	
	  desc "generate ssh key"
	  task :generate_ssh do
	    run "rm -f /home/#{user}/.ssh/id_rsa; rm -f /home/#{user}/.ssh/id_rsa.pub"
	    run "ssh-keygen -q -f /home/#{user}/.ssh/id_rsa -N \"\""
	  end
	  before "gitosis:copy_ssh", "gitosis:generate_ssh"
	
		desc "copy over servers own ssh, important for self pull"
		task :copy_ssh do
			run "sudo -H -u git gitosis-init < /home/#{user}/.ssh/id_rsa.pub"
		end	  
	
		desc "set permissions"
		task :set_permissions do
			sudo "chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update"
		end
	
	  desc "cleanup the files"
	  task :cleanup do
	    sudo "rm -rf src"
	  end
	  before "gitosis:setup_packages", "gitosis:cleanup"
	  after "gitosis:setup_packages", "gitosis:cleanup"
	  
	end
end

Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
crazycode-cap-recipes-0.5.3 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.5.2 lib/cap_recipes/tasks/gitosis/install.rb
cap-recipes-0.3.39 lib/cap_recipes/tasks/gitosis/install.rb
cap-recipes-0.3.38 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.5.1 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.5.0 lib/cap_recipes/tasks/gitosis/install.rb
cap-recipes-0.3.37 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.14 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.13 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.12 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.11 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.10 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.9 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.8 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.6 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.5 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.4 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.3 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.2 lib/cap_recipes/tasks/gitosis/install.rb
crazycode-cap-recipes-0.4.1 lib/cap_recipes/tasks/gitosis/install.rb