| |
| =========== |
| Git formula |
| =========== |
| |
| Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. |
| |
| Sample pillars |
| ============== |
| |
| .. code-block:: yaml |
| |
| Simplest GIT setup |
| |
| git: |
| client: |
| enabled: true |
| |
| GIT with user setup |
| |
| .. code-block:: yaml |
| |
| git: |
| client: |
| enabled: true |
| user: |
| - user: |
| name: jdoe |
| email: j@doe.com |
| |
| Reclass with GIT with user setup |
| |
| .. code-block:: yaml |
| |
| git: |
| client: |
| enabled: true |
| user: |
| - user: ${linux:system:user:jdoe} |
| |
| Read more |
| ========= |
| |
| * http://git-scm.com/ |
| * http://git-scm.com/book/en/Customizing-Git-Git-Configuration |
| * https://github.com/nesi/puppet-git/tree/master/manifests |
| |
| Development and testing |
| ======================= |
| |
| Development and test workflow with `Test Kitchen <http://kitchen.ci>`_ and |
| `kitchen-salt <https://github.com/simonmcc/kitchen-salt>`_ provisioner plugin. |
| |
| Test Kitchen is a test harness tool to execute your configured code on one or more platforms in isolation. |
| There is a ``.kitchen.yml`` in main directory that defines *platforms* to be tested and *suites* to execute on them. |
| |
| Kitchen CI can spin instances locally or remote, based on used *driver*. |
| For local development ``.kitchen.yml`` defines a `vagrant <https://github.com/test-kitchen/kitchen-vagrant>`_ or |
| `docker <https://github.com/test-kitchen/kitchen-docker>`_ driver. |
| |
| To use backend drivers or implement your CI follow the section `INTEGRATION.rst#Continuous Integration`__. |
| |
| A listing of scenarios to be executed: |
| |
| .. code-block:: shell |
| |
| $ kitchen list |
| |
| Instance Driver Provisioner Verifier Transport Last Action |
| |
| client-single-ubuntu-1404 Vagrant SaltSolo Inspec Ssh <Not Created> |
| client-single-ubuntu-1604 Vagrant SaltSolo Inspec Ssh <Not Created> |
| client-single-centos-71 Vagrant SaltSolo Inspec Ssh <Not Created> |
| |
| The `Busser <https://github.com/test-kitchen/busser>`_ *Verifier* is used to setup and run tests |
| implementated in `<repo>/test/integration`. It installs the particular driver to tested instance |
| (`Serverspec <https://github.com/neillturner/kitchen-verifier-serverspec>`_, |
| `InSpec <https://github.com/chef/kitchen-inspec>`_, Shell, Bats, ...) prior the verification is executed. |
| |
| |
| Usage: |
| |
| .. code-block:: shell |
| |
| # list instances and status |
| kitchen list |
| |
| # manually execute integration tests |
| kitchen [test || [create|converge|verify|exec|login|destroy|...]] [instance] -t tests/integration |
| |
| # use with provided Makefile (ie: within CI pipeline) |
| make kitchen |
| |