lala deploy

master
fefa4ka 11 years ago
parent 0fc7c2f773
commit 7e3958e939
  1. 6
      app/conf/uwsgi_zuykov.conf.template
  2. 4
      app/deploy/hosts.py
  3. 53
      app/deploy/tasks.py
  4. 5
      app/deploy/zuykov.py
  5. 7
      app/settings.py
  6. 9
      requirements.txt
  7. BIN
      zsite/static/imgs/bill.png
  8. 4
      zsite/static/less/main.less
  9. 14
      zsite/static/less/service.less
  10. 18
      zsite/static/less/theory.less
  11. 2
      zsite/templates/base.html
  12. 60
      zsite/templates/form_template/contacts.html

@ -3,12 +3,12 @@ uid=%(SERVER_USERNAME)s
gid=%(SERVER_USERNAME)s
chdir = /home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s
module = app.wsgi_zuykov
module = app.wsgi
home = /home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/env
eval = import newrelic.agent, wsgi_zuykov; application = newrelic.agent.wsgi_application()(wsgi_zuykov.application)
eval = import newrelic.agent, wsgi; application = newrelic.agent.wsgi_application()(wsgi.application)
master = true
processes = 4
socket = /home/%(EC2_SERVER_USERNAME)s/%(PROJECT_NAME)s/app/wsgi_zuykov.sock
socket = /home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/wsgi.sock
chmod-socket = 666
vacuum = true

@ -4,12 +4,10 @@
# Deploy
from deployer.host import SSHHost
from zsite import settings
class WebHost(SSHHost):
slug = 'web'
address = 'dev.zuykov.com'
address = '151.248.125.130'
username = 'web'
password = '9oijffDf2vi@D!'

@ -40,19 +40,35 @@ common_configure = [
# List of APT packages to install
{"action": "apt",
"params": ["libpq-dev", "git",
"python-setuptools", "python-dev", "build-essential", "python-pip", "redis-server",
"libmysqlclient-dev", "subversion"],
"params": ["git",
"python-setuptools", "python-dev", "build-essential", "python-pip", "libmysqlclient-dev",
"mysql-server", "mysql-client"],
"message":"Installing apt-get packages" },
# {"action": "sudo", "params": "mysql_secure_installation",
# "message": "MYSQL Configuration" },
# {"action": "sudo", "params": "service mysqld start",
# "message": "MYSQL Starting" },
# {"action": "sudo", "params": "chkconfig mysqld on",
# "message": "MYSQL Configuration auto start" },
{"action": "run", "params": "mysqladmin -u %(MYSQL_USER)s -h localhost password '%(MYSQL_PASSWORD)s'",
"message": "MYSQL Create user" },
# {"action": "run", "params": "mysqladmin -u %(MYSQL_USER)s --password='%(MYSQL_PASSWORD)s' -h localhost '%(MYSQL_PASSWORD)s'",
# "message": "MYSQL Configuration" }, host
# List of pypi packages to install
{"action": "pip", "params": ["virtualenv"],
"message":"Installing virtualenv"},
#project directory
{"action": "run", "params": "mkdir -p ~/.ssh", "message": "Create ssh folder" },
{"action": "run", "params": "mkdir -p %(PROJECT_DIR)s", "message": "Create project folder" },
{"action": "run", "params": "mkdir -p %(LOGS_DIR)s", "message": "Create logs folder" },
{"action": "sudo", "params": "chown -R %(SERVER_USERNAME)s: %(PROJECT_DIR)s"},
{"action": "run", "params": "chown -R %(SERVER_USERNAME)s: %(PROJECT_DIR)s"},
# git setup
{"action": "run", "params": "git config --global user.name '%(GIT_USERNAME)s'",
@ -78,7 +94,7 @@ common_configure = [
{"action": "run",
"params": "virtualenv %(ENV_DIR)s", "message": "Configuring virtualenv" },
{"action": "sudo", "params": "chown -R %(SERVER_USERNAME)s: %(ENV_DIR)s"},
{"action": "run", "params": "chown -R %(SERVER_USERNAME)s: %(ENV_DIR)s"},
# {"action": "run", "params":
# "echo 'expo WORKON_HOME=%(PRO_DIR)s' >> /home/%(SERVER_USERNAME)s/.profile"},
{"action": "run", "params":
@ -94,20 +110,16 @@ web_configure = [
{"action": "apt",
"params": ["nginx", "uwsgi", "uwsgi-plugin-python", "nodejs", "npm"],
"message":"Installing nginx, uwsgi, nodejs packages"},
{"action": "sudo", "params": "npm install -g bower karma grunt grunt-cli"},
# Костыль с нодой
{"action": "run", "params": "ln -s /usr/bin/nodejs %(ENV_DIR)s/bin/node"},
{"action": "sudo", "params": "cd %(PROJECT_DIR)s/frontend/transcribe.ninja && npm install"},
{"action": "sudo", "params": "cd %(PROJECT_DIR)s/frontend/stenograph.us && npm install"},
{"action": "sudo", "params": "npm install -g bower"},
# # Костыль с нодой
# {"action": "run", "params": "ln -s /usr/bin/nodejs %(ENV_DIR)s/bin/node"},
# {"action": "sudo", "params": "cd %(PROJECT_DIR)s/frontend/transcribe.ninja && npm install"},
# {"action": "sudo", "params": "cd %(PROJECT_DIR)s/frontend/stenograph.us && npm install"},
{"action": "sudo", "params": "rm -rf /etc/nginx/sites-enabled/default"},
{"action": "sudo", "params": "rm -rf /etc/supervisor/conf.d/default"},
# {"action": "sudo", "params": "rm -rf /etc/supervisor/conf.d/default"},
{"action": "sudo", "params": "rm -rf /etc/uwsgi/apps-enabled/default.ini"},
]
npm_install = [
{"action": "sudo", "params": "cd %(PROJECT_DIR)s/frontend/transcribe.ninja && npm install"},
{"action": "sudo", "params": "cd %(PROJECT_DIR)s/frontend/stenograph.us && npm install"},
]
# nginx
reload_nginx = [
@ -124,16 +136,13 @@ create_nginx_links = [
create_uwsgi_links = [
{"action": "sudo", "params":
"ln -s /home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/conf/uwsgi_stenograph_us.conf /etc/uwsgi/apps-enabled/%(PROJECT_NAME)s_stenograph_us.ini"},
{"action": "sudo", "params":
"ln -s /home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/conf/uwsgi_transcribe_ninja.conf /etc/uwsgi/apps-enabled/%(PROJECT_NAME)s_transcribe_ninja.ini"},
"ln -s /home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/conf/uwsgi_zuykov.conf /etc/uwsgi/apps-enabled/%(PROJECT_NAME)s_zuykov.ini"},
]
reload_uwsgi = [
{"action": "put_template", "params": {"template": "%(BASE_DIR)s/app/conf/uwsgi_stenograph_us.conf.template",
"destination": "/home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/conf/uwsgi_stenograph_us.conf"}},
{"action": "put_template", "params": {"template": "%(BASE_DIR)s/app/conf/uwsgi_transcribe_ninja.conf.template",
"destination": "/home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/conf/uwsgi_transcribe_ninja.conf"}},
{"action": "put_template", "params": {"template": "%(BASE_DIR)s/app/conf/uwsgi_zuykov.conf.template",
"destination": "/home/%(SERVER_USERNAME)s/%(PROJECT_NAME)s/app/conf/uwsgi_zuykov.conf"}},
{"action": "sudo", "params": "service uwsgi restart",
"message": "Restarting uwsgi"},
]

@ -44,9 +44,10 @@ class ZuykovWebSystem(Node):
class Application(DjangoDeployment):
def configure_base(self):
self._configure_instance(tasks.common_configure)
self._configure_instance(tasks.web_configure)
def hello(self):
self.hosts.run('echo hello world')
def restart(self):
self._configure_instance(tasks.create_uwsgi_links + tasks.reload_nginx + tasks.reload_uwsgi)
def update(self):
self.checkout()

@ -52,9 +52,9 @@ GIT_KEY_NAME = 'github_rsa'
ROOT_URLCONF = 'zsite.urls'
ROOT_URLCONF = 'app.urls'
WSGI_APPLICATION = 'zsite.wsgi.application'
WSGI_APPLICATION = 'app.wsgi.application'
# Database
@ -298,6 +298,9 @@ DATABASES = {
{'ENGINE': 'django.db.backends.mysql', 'NAME': u'zuykov', 'HOST': u'localhost', 'USER': u'root', 'PASSWORD': '', 'PORT': ''}
}
MYSQL_USER = DATABASES['default']['USER']
MYSQL_PASSWORD = DATABASES['default']['PASSWORD']
MIGRATION_MODULES = {
'djangocms_column': 'djangocms_column.migrations_django',
'djangocms_flash': 'djangocms_flash.migrations_django',

@ -21,4 +21,13 @@ django-pipeline
django_debug_toolbar
djangocms-forms
django-multipleformwizard
newrelic
django-reversion
cmsplugin-filer
django-taggit
django-taggit-autosuggests
django-meta
django-meta-mixin
django-admin-enhancer
aldryn-apphooks-config
#export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

@ -20,6 +20,10 @@
@import 'consultation.less';
@import 'theory.less';
@import 'service.less';
@import url(http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic|Roboto+Slab:700,400&subset=cyrillic-ext,latin);

@ -0,0 +1,14 @@
.service-timeline {
h4 {
margin: 0
}
p {
opacity: .8;
}
.arrow {
font-size: 33px;
vertical-align: text-bottom;
}
}

@ -0,0 +1,18 @@
.theory {
background: #FFF0D8;
padding: 5px 18px;
h5 {
padding-left: 22px;
font-weight: 700;
}
ul {
font-size: 12px;
li {
margin-bottom: 5px;
}
}
}

@ -39,6 +39,8 @@
{% show_menu 0 1 100 100 "menu_header.html" %}
<div class="clearfix"></div>
{% block content %}{% endblock content %}
<footer>

@ -0,0 +1,60 @@
{% load cms_tags djangocms_forms_tags i18n sekizai_tags staticfiles %}
<div class="forms" id="{{ instance.form_id }}">
{% if instance.title %}
<h3 class="title">{{ instance.title }}</h3>
{% endif %}
{% if instance.description %}
<div class="description">
{{ instance.description|safe }}
</div>
{% endif %}
<div class="form-wrapper">
<form action="{{ form.submission_url }}" method="POST" enctype="multipart/form-data">
<div class="form-errors" style="display:none;"></div>
{% for field in form.visible_fields %}
<div class="field-wrapper {{ field|input_class }} {{ field.css_classes }}">
<div class="field-errors" style="display:none;"></div>
{% if field|is_checkbox %}
{{ field }}
{% endif %}
<label for="{{ field.id_for_label }}">
{{ field.label }}{% if field|is_required %}<span class="asterisk">*</span>{% endif %}
</label>
{% if not field|is_checkbox %}
{{ field }}
{% endif %}
{% if field.help_text %}
<div id="help-text-{{ field.auto_id }}" class="help-text">{{ field.help_text|safe }}</div>
{% endif %}
</div>
{% endfor %}
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
<div class="button-wrapper submit">
<button class="form-button" type="submit" value="{{ instance.submit_btn_txt }}">{{ instance.submit_btn_txt }}</button>
</div>
</form>
</div>
<div class="form-success" style="display: none;">
{% if instance.post_submit_msg %}
<p>{{ instance.post_submit_msg|safe }}</p>
{% else %}
{% blocktrans %}
<h3>Submission successful</h3>
<p>Thank You! Your form has been successfully submitted!</p>
{% endblocktrans %}
{% endif %}
</div>
</div>
{% addtoblock "js" %}
<script src="{% static 'js/djangocms_forms/libs/jquery.form.min.js' %}"></script>
<script src="{% static 'js/djangocms_forms/djangocms_forms.js' %}"></script>
<script type="application/javascript">
$(function() {
$('.forms').djangocms_forms();
});
</script>
{% endaddtoblock %}
Loading…
Cancel
Save