To be able to participate in the workshop exercises that will take place, you will have to have a basic setup of development tools on your machine. We have prepared a variety of solutions for you to achieve this setup.
Which solution should I use? It depends :-)
- VirtualBox: Good for in-person workshops. Ensures coherent setup for all participants, and makes life easier for trainers.
- Local setup: Good for new developers. Ensures your environment is ready doing development after having completed the tutorials.
- Vagrant: Similar to VirtualBox, but requires to also have Vagrant installed.
- Install VirtualBox for your platform
- Download the OVA file from https://inveniosoftware.web.cern.ch/inveniosoftware/download/virtualbox/Invenio%20Bootcamp%20Ubuntu%202019.ova (~3GB)
- Open the VirtualBox application and go to "File -> Import Appliance..." and select the downloaded OVA file from the previous step. Proceed with clicking "Next" and then "Import".
- After the appliance has been loaded, it will appear in the list of Virtual Machines as "Invenio Bootcamp Ubuntu"
- Double click the entry to start the VM
- The username/password for the user is
bootcamp
/bootcamp
For a local development setup, make sure that you have:
- A modern IDE that supports Python, e.g. VSCode, Sublime, Atom, PyCharm etc.
- Git
- Python==3.6 (only Python 3.6)
pip
andpipenv<2022
installed and fully working (only pipenv version lower than 2022)cookiecutter
for scaffolding- NodeJS version 14 and NPM v6 (see official installation)
- Docker and Docker Compose
- Google Chrome and ChromeDriver for E2E tests
- If running Linux/MacOS you'll have to bump your
vm.max_map_count
as described in Elasticsearch docs
If you're running Ubunut/Debian you can run sudo bootstrap.sh $(whoami)
to
install some of the above. Feel free to look inside the bootstrap.sh
script
to understand/adjust what is installed/changed.
- Download and install Vagrant for your platform.
- Run the following:
# Clone this repository
git clone git@github.com:inveniosoftware/training.git
cd training/00-prerequisites
# Bring up the Vagrant VM
vagrant up
# ...wait for the setup to finish...
# SSH to the VM
vagrant ssh