示例#1
0
  def _deploy(self, code_dirs):
    compressed_file_name = 'tmp.tar.gz'
    exclude_dir = '.git'

    for code_dir in code_dirs:
      if os.path.exists(code_dir):
        upholstery.local(self.tar + ' ' + self.tar_compress_flags + ' ' + compressed_file_name + \
                         ' ' + code_dir + ' --exclude "' + exclude_dir + '"')
        upholstery.put(compressed_file_name, compressed_file_name)
        upholstery.local(self.rm + compressed_file_name)

        # Decompress and Clean up
        upholstery.run(self.tar + ' ' + self.tar_decompress_flags + ' ' + compressed_file_name)
        upholstery.run(self.rm + compressed_file_name)

        if self.datetime:
          indivo_servers_location = '/web/' + code_dir + 's/' + \
                                    code_dir + '-' + \
                                    str(self.datetime.year) + '_' + \
                                    str(self.datetime.month) + '_' + \
                                    str(self.datetime.day)
        else:
          indivo_server_location = '/web/'

        # SZ: Remove this in the future
        upholstery.sudo(self.mv + code_dir + ' ' + indivo_servers_location)

    return True
示例#2
0
 def deploy_virtual_host(self):
   # SZ: randomize
   filename_virtual_host = 'virtual_host'
   virtual_host_path = '/etc/apache2/sites-enabled/000-default'
   if self.create_file(filename_virtual_host, virtual_host):
     upholstery.put(filename_virtual_host, filename_virtual_host)
     upholstery.local(self.rm + filename_virtual_host)
     upholstery.sudo(self.mv + filename_virtual_host + ' ' + virtual_host_path)
示例#3
0
  def deploy_ports_conf(self):
    ports_conf= """
    NameVirtualHost *:80
    Listen 80
    Listen 8000
    """

    ports_path = '/etc/apache2/ports.conf'
    filename_ports_conf = 'ports_conf'
    if self.create_file(filename_ports_conf, ports_conf):
      upholstery.put(filename_ports_conf, filename_ports_conf)
      upholstery.local(self.rm + filename_ports_conf)
      upholstery.sudo(self.mv + filename_ports_conf + ' ' + ports_path)
示例#4
0
  def _post_deploy(self):
    self.set_user(USER)
    upholstery.sudo(self.chown + 'web:www-data -R /web/indivo_servers/')
    upholstery.sudo(self.chown + 'web:www-data -R /web/indivo_ui_servers/')
    #self.set_user('web')
    #upholstery.run(self.cd + '/web/indivo_server && ./reset.sh')

    # Restart apache
    upholstery.run(self.touch + '/tmp/successful')

    # SZ: For development
    #upholstery.run('python manage.py runserver 0.0.0.0:8000')

    return True
示例#5
0
 def _install_packages(self):
   if hasattr(self, 'packages'):
     for package in self.packages:
       upholstery.sudo(self.apt_get + ' install ' + package)
     return True
   return False
示例#6
0
 def service(self, program, action):
   upholstery.sudo('service ' + program + ' ' + action)