blob: bfe743a35876ef5ecc7131dcdffc7b304acc617b [file] [log] [blame]
===========
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