Skip to content

FR Hot Updates

Prasad Talasila edited this page Aug 23, 2017 · 1 revision

The autolab containers are heavy duty and can't be easily reinstalled. It is better to hot update the containers with the latest code and restart them. There are two approaches for this.

  1. Map volumes to containers
    Main server, load balancer and execution nodes copy MySQL, gitlab only map volumes from host. If we follow similar approach and map the code base, it becomes easier to update. We only have to stop the container, update the base code directory and restart the container.

  2. Copy tar files, untar inside Copy the update tar bundle into container and untar it inside. That would automatically update the contents.

The hot update reduces the deployment time and is very useful for developers.

Right now, we are better off doing this as manual bundle. But an automated way of doing this would be using ansible script. Ansible knows all the installed components. It can easily update the components using the inventory file.

The update is best done using npm script. A tentative task name is 'update'. We can invoke the script from outside for updating the same. At a later point, we can invoke the script from an API call. Of course, tight security must be put in place before we attempt this.

https://docs.npmjs.com/misc/scripts

References

Relevant issue

Clone this wiki locally
You can’t perform that action at this time.