diff options
author | Egor Yurtaev <yurtaev.egor@gmail.com> | 2014-10-15 16:07:33 +0700 |
---|---|---|
committer | Egor Yurtaev <yurtaev.egor@gmail.com> | 2014-10-15 16:21:08 +0700 |
commit | 9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6 (patch) | |
tree | 7fe60cc57aac04c53d86fe918906aa64bb18e9ac | |
parent | 9ede88c6830a17538196dba22fb31337f43d2157 (diff) | |
download | omaha-server-9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6.zip omaha-server-9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6.tar.gz omaha-server-9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6.tar.bz2 |
Little improvements
- update README.md
- refactoring paver & docker file
-rw-r--r-- | Dockerfile | 6 | ||||
-rw-r--r-- | README.md | 64 | ||||
-rw-r--r-- | fig.yml | 4 | ||||
-rwxr-xr-x | omaha_server/createadmin.py | 3 | ||||
-rw-r--r-- | pavement.py | 46 |
5 files changed, 104 insertions, 19 deletions
@@ -11,7 +11,5 @@ COPY ./conf/supervisord.conf /etc/supervisor/conf.d/supervisord.conf WORKDIR /srv/omaha - -RUN pip install -r requirements.txt - -RUN ./omaha_server/manage.py collectstatic --noinput +RUN pip install paver --use-mirrors +RUN pip install -r requirements.txt --use-mirrors @@ -3,23 +3,32 @@ [](https://travis-ci.org/Crystalnix/omaha-server) [](https://coveralls.io/r/Crystalnix/omaha-server?branch=python-omaha) +Google Omaha server implementation + added Sparkle (mac) feed management + +© 2014 [Crystalnix](http://crystalnix.com) [contacts@crystalnix.com](mailto:contacts@crystalnix.com) + ## Setting up a development server **Requirements:** -- [docker](docker.com) or [boot2docker](https://github.com/boot2docker/boot2docker) for OS X or Windows -- [fig](fig.sh) - [paver](http://paver.github.io/paver/) +- [docker](docker.com) or [boot2docker](https://github.com/boot2docker/boot2docker) for OS X & Windows +- [fig](fig.sh) ```sh -$ paver up_dev_server +$ paver up_local_dev_server ``` +Open http://{DOCKER_HOST}:9090/admin/ + +- username: `admin` +- password: `admin` + ## Setting up a development environment **Requirements:** -- python 2.7 +- python 2.7 - [virtualenvwrapper](http://virtualenvwrapper.readthedocs.org/) - PostgreSQL @@ -33,3 +42,50 @@ $ pip install -r requirements-dev.txt ```sh $ paver test ``` + +or + +```sh +$ paver run_test_in_docker +``` + +## Deploying a Omaha-Server to AWS Elastic Beanstalk + +**Requirements:** + +- [Elastic Beanstalk command line tools](http://aws.amazon.com/code/6752709412171743) +- [ebs-deploy](https://github.com/briandilley/ebs-deploy) + +### Initialize your application + +```sh +$ cd omaha_server +$ cp cp ebs.config.example ebs.config +$ ebs-deploy init +``` + +#### Environment variables + +| Environment variable name | Default value | Description | +|---------------------------|----------------------------|-------------------| +| APP_VERSION | DEV | | +| DJANGO_SETTINGS_MODULE | omaha_server.settings_prod | | +| SECRET_KEY | | Django SECRET_KEY | +| HOST_NAME | | Eb app host name | +| DB_HOST | | DB Host | +| DB_USER | | DB User | +| DB_NAME | | DB Name | +| DB_PASSWORD | | DB Password | +| AWS_ACCESS_KEY_ID | | AWS Access Key | +| AWS_SECRET_ACCESS_KEY | | AWS Secret Key | +| AWS_STORAGE_BUCKET_NAME | | S3 storage bucket | +| RAVEN_DNS | | Sentry url | + + + + +### Deploy your application + +```sh +$ ebs-deploy deploy -e omaha-server-dev +``` @@ -2,8 +2,8 @@ db: image: postgres web: build: . - command: /usr/bin/supervisord - working_dir: /srv/omaha/omaha_server + command: paver docker_run + working_dir: /srv/omaha links: - db ports: diff --git a/omaha_server/createadmin.py b/omaha_server/createadmin.py index 9b402c0..86f2be5 100755 --- a/omaha_server/createadmin.py +++ b/omaha_server/createadmin.py @@ -10,7 +10,8 @@ from django.contrib.auth import get_user_model User = get_user_model() if User.objects.count() == 0: - admin = User.objects.create(email='admin@example.com', first_name='Admin', last_name='Admin') + admin = User.objects.create(username='admin', email='admin@example.com', + first_name='Admin', last_name='Admin') admin.set_password('admin') admin.is_superuser = True admin.is_staff = True diff --git a/pavement.py b/pavement.py index 6a4673c..cf1a317 100644 --- a/pavement.py +++ b/pavement.py @@ -10,7 +10,7 @@ def test(): @task -def up_dev_server(): +def up_local_dev_server(): """ Requirements: @@ -18,15 +18,45 @@ def up_dev_server(): - [fig](fig.sh) """ - sh('fig up -d') - sh('fig stop web') - sh('fig start web') - sh('fig run web ./manage.py migrate') - sh('fig run web ./manage.py createsuperuser --username=admin --email=admin@example.com --noinput') - sh('fig run web ./manage.py set_fake_passwords --password=admin') - print """Open http://DOCKER_HOST:9090/admin/\n username: admin\n password: admin""" + sh('fig up -d db') + sh('fig up -d web') + print """Open http://{DOCKER_HOST}:9090/admin/\n username: admin\n password: admin""" @task def deploy_dev(): sh('ebs-deploy deploy -e omaha-server-dev', cwd='omaha_server') + + +@task +def collectstatic(): + sh('./manage.py collectstatic --noinput', cwd='omaha_server') + + +@task +def migrate(): + sh('./manage.py migrate --noinput', cwd='omaha_server') + + +@task +def create_admin(): + sh('./createadmin.py', cwd='omaha_server') + + +@task +def docker_run(): + migrate() + create_admin() + collectstatic() + sh('/usr/bin/supervisord') + + +@task +def docker_run_test(): + sh('pip install -r requirements-test.txt --use-mirrors') + test() + + +@task +def run_test_in_docker(): + sh('fig run --rm web paver docker_run_test') |