Tango Development Environment set up¶
The Development Environment is the set of processes and software tools used to create software.
- Tools include:
python version 3.7
Visual Studio Code, PyCharm Community Edition
- Processes include:
The main process is a python/c++ developer working with one tango device server writing one or more devices:
(optional) Work with pogo and create the device(s) needed;
Work with a text editor (such as pycharm or VSCode);
The tango framework is running locally (with docker) together with other runtime application (generally other devices) needed for the specific development so that the developer can test the device(s) just created;
In order to test the work done, the developer creates unit tests (with pytest);
The developer creates (if needed) a document for non-trivial testing (for instance for integration testing, usability testing and so on) if the test automation is not possible;
The developer creates (if not done before) the docker file in order to ship its work and execute it in a different environment (GitLab CI infrastructure); note that this step can be deleted if the docker file is already available for some kind of development (i.e. for python tango devices the docker file can be the same for every project;
The developer creates the file ‘.gitlab-ci.yml’ for the GitLab CI integration;
The developer tests the project in GitLab.
Creating a Development Environment¶
- Download a image of ubuntu 18.04 like the following one:
Run the box and call the following commands:
sudo apt -y install git git clone https://gitlab.com/ska-telescope/ansible-playbooks cd ansible-playbooks sudo apt-add-repository --yes --update ppa:ansible/ansible && \ sudo apt -y install ansible ansible-playbook -i hosts deploy_tangoenv.yml \ --extra-vars "ansible_become_pass=osboxes.org" \ -e ansible_python_interpreter=/usr/bin/python sudo reboot
Working with Tango¶
In order to start working with tango you should refer to the documentation on Tango Example Project. Following this documentation you will be able to start tango on a kubernetes environment using minikube.
Please visit the following gitlab pages for more information: