oleksandrzelentsov / levenstein_distance

Implementation of Levenstein distance in C with comparison between several languages.
2 stars 2 forks source link

Create Docker image instead of Vagrant setup #18

Open oleksandrzelentsov opened 7 years ago

oleksandrzelentsov commented 7 years ago

Implement the way to run tests in Docker container, better using Ansible as a provisioner. Remove Vagrant setup and place there the docker setup. Also, show the way to do it from command line.

Later it will be integrated into Jenkins project.

oleksandrzelentsov commented 7 years ago

Committing should be done onto ci branch

thamerla commented 7 years ago

@oleksandrzelentsov I managed to create a custom CI solution for this project using Jenkins and Docker. It requires: 1) a cron job that will build robotframework image from the official python image every (let's say) 2 weeks. Alternatively, you can install robotframework during every single build, but I don't think it makes any sense. 2) a cron job that will update the official base images (let's say) every 2 weeks. It may be even the same job as 1). 3) a pipeline job that uses Jenkinsfile stored inside the project tree. This is the core functionality - it uses docker-workflow plugin to build&test inside containers immediately after a commit is made and tear up the environment after finishing the job. The whole single job takes about 5 seconds which is a way faster than the current solution using Vagrant and Ansible. I wrote the Docker part - the only step that is missing is email/slack (or any other) notification solution; it's up to you to decide which one you want to use.

Please let me know if you're comfortable with the changes as then I'll open a PR to merge the Jenkinsfile.