frontend/app/models/app.rb in meroku-2.0.8 vs frontend/app/models/app.rb in meroku-2.0.9
- old
+ new
@@ -2,29 +2,36 @@
belongs_to :user
after_commit :make_folder, on: [:create]
def make_folder
- username = self.user.token
- Rails.logger.debug "DB8 app.rb:def self.make_folder called"
- system(%Q[sudo -u #{username} mkdir /home/#{username}/#{self.name}.git])
- system(%Q[sudo -u #{username} mkdir /home/#{username}/#{self.name}])
- system(%Q[sudo -u #{username} sh -c "cd /home/#{username}/#{self.name}.git; git --bare init"])
+ Rails.logger.debug "DB8 app.rb:make_folder() called"
+ username = self.user.apiusername
+ Cmd.run(%Q[sudo -u #{username} mkdir /home/#{username}/#{self.name}.git])
+ Cmd.run(%Q[sudo -u #{username} mkdir /home/#{username}/#{self.name}])
+ Cmd.run(%Q[sudo -u postgres createuser -S -D -R -e #{username}])
+ Cmd.run(%Q[sudo -u postgres createdb #{self.name}])
+ Cmd.run(%Q[sudo -u postgres psql -c "ALTER ROLE #{username} WITH PASSWORD '#{self.user.apisecret}';"])
- system(%Q[sudo -u #{username} sh -c "echo '#!/bin/bash
+ Cmd.run(%Q[sudo -u #{username} sh -c "cd /home/#{username}/#{self.name}.git; git --bare init"])
+ Cmd.run(%Q[sudo cp /sharedro/etc_nginx_sites-enabled_template /home/#{username}/#{self.name}.conf])
+ Cmd.run(%Q[sudo sed -i -e 's/REPLACEMEAPPNAME/#{self.name}/g' /home/#{username}/#{self.name}.conf])
+ Cmd.run(%Q[sudo sed -i -e 's/REPLACEMEUSERNAME/#{username}/g' /home/#{username}/#{self.name}.conf])
+ Cmd.run(%Q[sudo -u #{username} sh -c "echo '#!/bin/bash
set -x
: Git hook is executing
-mkdir /home/#{username}/#{self.name}
cd /home/#{username}/#{self.name}
-cp /sharedro/etc_nginx_sites-enabled_template /home/#{username}/#{self.name}.conf
-sed -i -e 's/REPLACEMEAPPNAME/#{self.name}/g' /home/#{username}/#{self.name}.conf
-sed -i -e 's/REPLACEMEUSERNAME/#{username}/g' /home/#{username}/#{self.name}.conf
+echo 'DATABASE_URL=postgres://#{self.user.apiusername}:#{self.user.apisecret}@localhost:5432/#{self.name}'
+export DATABASE_URL="postgres://#{self.user.apiusername}:#{self.user.apisecret}@localhost:5432/#{self.name}"
git --work-tree=/home/#{username}/#{self.name} --git-dir=/home/#{username}/#{self.name}.git checkout -f
bundle install --path vendor/bundle
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake assets:precompile
RAILS_ENV=production bundle exec puma -d -b unix:///home/#{username}/#{self.name}.sock
' > /home/#{username}/#{self.name}.git/hooks/post-receive"])
- system(%Q[sudo -u #{username} sh -c 'chmod u+x /home/#{username}/#{self.name}.git/hooks/post-receive'])
+ Cmd.run(%Q[sudo -u #{username} sh -c 'chmod u+x /home/#{username}/#{self.name}.git/hooks/post-receive'])
+ Cmd.run(%Q[sudo ln -s /home/#{username}/#{self.name}.conf /etc/nginx/sites-enabled/#{self.name}])
+ Cmd.run(%Q[sudo /usr/sbin/nginx -s reload])
end
+
end