Plugin integration requires a Continuous Integration (CI) for testing and deploying new changes.
To configure a continuous integration environment:
Configure Gerrit integration:
Prepare the development and testing environments:
Configure CI:
Have your own CI server. This provides better versioning, collecting test-results, deduplicating the same jobs, easier configuration and managing.
Use Jenkins with the Jenkins Job Builder plugin, which provides easy job management and storage configuration.
Install the Jenkins Job Builder from Git as described below.
Create a pre-commit-hook to check your code:
#!/bin/bash
# Save this script to <PROJECT>/.git/hooks/pre-review
and make it executable
set -e
set -o pipefail
find . -name '*.pp' | xargs -P1 -L1 puppet parser \
validate --verbose
find . -name '*.pp' | xargs -P1 -L1 puppet-lint \
--fail-on-warnings \
--with-context \
--with-filename \
--no-140chars-check \
--no-variable_scope-check \
--no-nested_classes_or_defines-check \
--no-autoloader_layout-check \
--no-class_inherits_from_params_class-check \
--no-documentation-check \
--no-arrow_alignment-check \
--no-case_without_default-check
find . -name '*.erb' | xargs -P1 -L1 -I '%' \
erb -P -x -T '-' % | ruby -c
fpb --check ./
See also
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.