Skip to content

Commit

Permalink
Ama/Chris #7121 Added script to run or test redash vagrant server in …
Browse files Browse the repository at this point in the history
…one command.
  • Loading branch information
amasare committed May 9, 2016
1 parent cfb852e commit f8efb2d
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 26 deletions.
7 changes: 7 additions & 0 deletions Vagrantfile
Expand Up @@ -8,4 +8,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "redash/dev"
config.vm.synced_folder "./", "/opt/redash/current"
config.vm.network "forwarded_port", guest: 5000, host: 9001
config.vm.provision "shell" do |s|
s.inline = "/opt/redash/current/install_requirements.sh"
end
config.vm.provision "shell" do |s|
s.inline = "/opt/redash/current/vagrant_provision.sh"
s.privileged = false
end
end
4 changes: 1 addition & 3 deletions circle.yml
Expand Up @@ -9,9 +9,7 @@ machine:
2.7.3
dependencies:
pre:
- pip install -r requirements_dev.txt
- pip install -r requirements.txt
- pip install pymongo==3.2.1
- ./install_requirements.sh
- if [ "$CIRCLE_BRANCH" = "master" ]; then make deps; fi
cache_directories:
- rd_ui/node_modules/
Expand Down
28 changes: 5 additions & 23 deletions docs/dev/vagrant.rst
Expand Up @@ -14,28 +14,10 @@ To get started with this box:
`Vagrant <https://www.vagrantup.com/>`__ installed.
2. Clone the Re:dash repository:
``git clone https://github.com/getredash/redash.git``.
3. Change dir into the repository (``cd redash``) and run run
``vagrant up``. This might take some time the first time you run it,
3. Change dir into the repository (``cd redash``)
4a. To execute tests, run ``./run_tests.sh``
4b. To run the app, run ``./run_redash_locally.sh``.
This might take some time the first time you run it,
as it downloads the Vagrant virtual box.
4. Once Vagrant is ready, ssh into the instance (``vagrant ssh``), and
change dir to ``/opt/redash/current`` -- this is where your local
repository copy synced to.
5. Copy ``.env`` file into this directory (``cp ../.env ./``).
6. From ``/opt/redash/current/rd_ui`` run ``bower install`` to install
frontend packages. This can be done from your host machine as well,
if you have bower installed.
7. Go back to ``/opt/redash/current`` and install python dependencies
``sudo pip install -r requirements.txt``
8. Update database schema to the latest version:

::

bin/run ./manage.py database drop_tables
bin/run ./manage.py database create_tables
bin/run ./manage.py users create --admin --password admin "Admin" "admin"
9. Purging the Redis cache
``redis-cli -n 1 FLUSHALL``
10. Start the server and background workers with
``bin/run honcho start -f Procfile.dev``.
11. Now the server should be available on your host on port 9001 and you
Now the server should be available on your host on port 9001 and you
can login with username admin and password admin.
5 changes: 5 additions & 0 deletions install_requirements.sh
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

pip install -r /opt/redash/current/requirements_dev.txt
pip install -r /opt/redash/current/requirements.txt
pip install pymongo==3.2.1
7 changes: 7 additions & 0 deletions run_redash_locally.sh
@@ -0,0 +1,7 @@
#!/usr/bin/env bash

#Provision VM
vagrant up

#start server and background workers
vagrant ssh -c "cd /opt/redash/current; bin/run honcho start -f Procfile.dev" &
7 changes: 7 additions & 0 deletions run_tests.sh
@@ -0,0 +1,7 @@
#!/usr/bin/env bash

#Provision VM
vagrant up

#Run tests
vagrant ssh -c "cd /opt/redash/current; nosetests --with-coverage --cover-package=redash tests/"
13 changes: 13 additions & 0 deletions vagrant_provision.sh
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

cd /opt/redash/current
cp /opt/redash/.env /opt/redash/current
cd /opt/redash/current/rd_ui
bower install
cd /opt/redash/current

#update database
bin/run ./manage.py database drop_tables
bin/run ./manage.py database create_tables
bin/run ./manage.py users create --admin --password admin "Admin" "admin"

0 comments on commit f8efb2d

Please sign in to comment.