[Architecture] Vagrant GPII CI plugin 0.0.6

Steve Lee steve at opendirective.com
Thu Mar 9 11:17:14 UTC 2017


Thanks Alfredo - this does sound good! I plan to return to using the QI
infrastructure in a month or so and can test it then.


Steve Lee
OpenDirective http://opendirective.com

On 9 March 2017 at 12:04, Alfredo Matas <alfredo at raisingthefloor.org> wrote:

> Hi all,
>
> as some of you have heard the Ops team are working on providing a CI
> system that makes easier for the developers to test and run their code
> in several operating systems such Windows and Linux.
>
> Until now our CI uses Virtualbox and the wrapper Vagrant to create the
> testing environments, which are the "glue" between the tests of the
> applications and the CI.
>
> Vagrant uses the definition of the VM specified in a file called
> Vagrantfile[1]. In addition to that we have been using Ansible[2] to
> provision the Linux based VMs and some Powershell[3] scripts in the
> case of the Windows VMs. This required storing some additional files
> in the repository of a project, and sometimes the purpose of them
> wasn't clear enough.
>
> Another downside of the actual approach is that it is difficult to
> maintain the environment for only one VM, and it also makes it very
> difficult to create and support environments with multiples VMs.
>
> Keeping in mind the above we have developed a plugin for Vagrant
> called Vagrant-GPII-CI[4] that tries to simplify all the files,
> definitions and commands needed for the testing.
>
> The plugin covers the following features:
>
> - Only use one YML file to define the environment [5]
> - The Vagrantfile is no longer required
> - Multi-VM support, all the VMs are connected among them
> - Windows and Linux support within the same file
> - Separate Vagrant command to execute the stages ( vagrant ci test
> [--stage STAGE] [vm] )
> - Tagging of stages in order to select the tasks that will be executed
> in only some VMs
>
> The use of the plugin can convert the CI configuration from this[6] to
> this[7], which we understand that the latest file is better to
> understand what the CI is doing.
>
> If someone wants to give it a try, we have published some complete CI
> pipelines using this plugin for some projects [8] with the files
> needed to use the new approach.
>
> For most of the projects,  the definition of the Gitlab-CI
> (.gitlab-ci.yml) and the Vagrant-GPII-CI (.vagrant.yml) alone are
> enough to run the tests with CI.
>
> If you check out a project you will only need the .vagrant.yml at the
> root of the repository, the plugin, and to exec the following commands
> to run the tests:
>
> - vagrant up
> - vagrant ci test
> - vagrant destroy
>
> Also a good place to get information about how this plugin integrates
> the test with the CI, and can be useful for the developers, is the
> documentation made for P4A QI infrastructure [9] that also uses this
> plugin.
>
> The plugin is in a very early development but the actual features are
> pretty stable. Any feedback is appreciated. If you want to do so,
> please reply this email or send a new email to
> alfredo at raisingthefloor.org, or for a fast response we can talk at IRC
> as well.
>
> Finally, as we commented at the latest Arch meeting, we have planned a
> meeting to talk about this plugin on Mar-20 at 10:00am (EST, GMT -5).
> If anyone is interested on joining us, please let us know.
>
> [1] https://github.com/GPII/windows/blob/master/Vagrantfile
> [2] https://github.com/GPII/linux/tree/master/provisioning
> [3] https://github.com/GPII/windows/tree/master/provisioning
> [4] https://github.com/amatas/vagrant-gpii-ci/
> [5] https://github.com/amatas/vagrant-gpii-ci/blob/master/
> vagrant.yml.template
> [6] https://github.com/GPII/linux/blob/master/Vagrantfile
> [7] https://gitlab.com/GPII-test/linux/blob/gitlab-ci/.vagrant.yml
> [8] https://gitlab.com/GPII-test
> [9] https://github.com/avtar/qi-development-environments/tree/GPII-1865
>
> --
> Alfredo
> _______________________________________________
> Architecture mailing list
> Architecture at lists.gpii.net
> http://lists.gpii.net/mailman/listinfo/architecture
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gpii.net/pipermail/architecture/attachments/20170309/854fe72b/attachment.html>


More information about the Architecture mailing list