commit 8db8758970310bf08ee08d95f792cf6c0ac40d1c
Author: Arne Teuke
Date: Thu Jul 20 14:31:19 2017 +0100
recommitting to see if git can be fixed
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c49b39a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+# .gitignore for cd_nagios
+.yardoc
+Gemfile.lock
+FileList
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..f1c0ec8
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,22 @@
+source ENV['GEM_SOURCE'] || 'https://rubygems.org'
+
+puppetversion = ENV.key?('PUPPET_VERSION') ? ENV['PUPPET_VERSION'] : ['>= 3.3']
+gem 'metadata-json-lint'
+gem 'puppet', puppetversion
+gem 'puppetlabs_spec_helper', '>= 1.0.0'
+gem 'puppet-lint', '>= 1.0.0'
+gem 'facter', '>= 1.7.0'
+gem 'rspec-puppet'
+gem 'puppet-strings'
+gem 'rake'
+gem 'semantic_puppet'
+gem 'rgen'
+
+# rspec must be v2 for ruby 1.8.7
+if RUBY_VERSION >= '1.8.7' && RUBY_VERSION < '1.9'
+ gem 'rspec', '~> 2.0'
+ gem 'rake', '~> 10.0'
+else
+ # rubocop requires ruby >= 1.9
+ gem 'rubocop'
+end
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..e88dff1
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,242 @@
+pipeline {
+ agent {
+ label 'puppet'
+ }
+
+ stages {
+
+ stage('pulling master before adding files') {
+ steps {
+ sshagent(['0c22dc63-2ae0-4ad5-98e0-65aa0f0f411g']) {
+ sh '''git config user.name "Jenkins Server"
+ git config user.email jenkins@confdroid.com
+ git pull origin master
+ git checkout -b jenkins '''
+ }
+ }
+ }
+
+ stage('install required gems') {
+ steps {
+ sh 'bundle install'
+ }
+ }
+
+ stage('puppet-lint tests') {
+ steps {
+ sh '''find . -iname *.pp -exec puppet-lint \\
+ --no-class_inherits_from_params_class-check \\
+ --no-variable_scope-check \\
+ --no-80chars-check \\
+ --no-arrow_alignment-check \\
+ --no-autoloader_layout-check \\
+ --log-format "%{path}:%{line}:%{check}:%{KIND}:%{message}" {} \\;'''
+ }
+ }
+
+ stage('puppet parser test') {
+ steps {
+ sh '''for file in $(find . -iname \'*.pp\'); do
+ puppet parser validate --color false --render-as s --modulepath=modules $file || exit 1;
+ done;'''
+ }
+ }
+
+ stage('Puppet ERB template test') {
+ steps{
+ sh '''for file in $(find . -iname \'*.erb\');
+ do erb -P -x -T "-" $file | ruby -c || exit 1;
+ done;'''
+ }
+ }
+
+ stage('compiler warnings') {
+ steps {
+ warnings canComputeNew: false, canResolveRelativePaths: false, consoleParsers: [[parserName: 'Puppet-Lint']], defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', unHealthy: ''
+ }
+ }
+
+ stage('update repo structure') {
+ steps {
+ sh '''if [ test -f REPOSTRUCTURE.md ]; then
+ rm -Rf REPOSTRUCTURE.md
+ fi
+ echo "$(tree --dirsfirst --charset=ascii .)" > REPOSTRUCTURE.md'''
+ }
+ }
+
+ stage('create Puppet documention') {
+ steps {
+ sh 'puppet strings'
+ }
+ }
+
+ stage('create changelog') {
+ steps{
+ step([$class: 'GitChangelogRecorder', config: [configFile: 'git-changelog-settings.json', createFileTemplateContent: ''' Git Changelog changelog
+
+
+Changelog of Git Changelog.
+
+
+{{#tags}}
+ {{name}}
+ {{#issues}}
+ {{#hasIssue}}
+ {{#hasLink}}
+ {{name}} {{issue}} {{title}}
+ {{/hasLink}}
+ {{^hasLink}}
+ {{name}} {{issue}} {{title}}
+ {{/hasLink}}
+ {{/hasIssue}}
+ {{^hasIssue}}
+ {{name}}
+ {{/hasIssue}}
+
+
+ {{#commits}}
+{{hash}} {{authorName}} {{commitTime}}
+
+
{{{messageTitle}}}
+
+{{#messageBodyItems}}
+ {{.}}
+{{/messageBodyItems}}
+
+ {{/commits}}
+
+ {{/issues}}
+{{/tags}}
+''', createFileTemplateFile: '', createFileUseTemplateContent: true, createFileUseTemplateFile: false, customIssues: [[link: '', name: '', pattern: '', title: ''], [link: '', name: '', pattern: '', title: '']], dateFormat: 'YYYY-MM-dd HH:mm:ss', file: 'CHANGELOG.md', fromReference: '', fromType: 'firstCommit', gitHubApi: '', gitHubApiTokenCredentialsId: '', gitHubIssuePattern: '#([0-9]+)', gitHubToken: '', gitLabApiTokenCredentialsId: '', gitLabProjectName: '', gitLabServer: '', gitLabToken: '', ignoreCommitsIfMessageMatches: '^\\[maven-release-plugin\\].*|^\\[Gradle Release Plugin\\].*|^Merge.*', ignoreCommitsWithoutIssue: false, ignoreTagsIfNameMatches: '', jiraIssuePattern: '\\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b', jiraPassword: '', jiraServer: '', jiraUsername: '', jiraUsernamePasswordCredentialsId: '', mediaWikiPassword: '', mediaWikiTemplateContent: '''__NOTOC__
+
+= Git Changelog changelog =
+Changelog of Git Changelog.
+
+{{#tags}}
+== {{name}} ==
+ {{#issues}}
+ {{#hasIssue}}
+ {{#hasLink}}
+=== {{name}} [{{link}} {{issue}}] {{title}} ===
+ {{/hasLink}}
+ {{^hasLink}}
+=== {{name}} {{issue}} {{title}} ===
+ {{/hasLink}}
+ {{/hasIssue}}
+ {{^hasIssue}}
+=== {{name}} ===
+ {{/hasIssue}}
+
+ {{#commits}}
+[https://gitlab.puppetsoft.com/12WW1160/git-changelog-lib/commit/{{hash}} {{hash}}] {{authorName}} {{commitTime}}
+
+\'\'\'{{{messageTitle}}}\'\'\'
+
+{{#messageBodyItems}}
+ * {{.}}
+{{/messageBodyItems}}
+
+ {{/commits}}
+
+ {{/issues}}
+{{/tags}}
+''', mediaWikiTemplateFile: '', mediaWikiTitle: '', mediaWikiUrl: '', mediaWikiUseTemplateContent: false, mediaWikiUseTemplateFile: false, mediaWikiUsername: '', noIssueName: 'No issue', readableTagName: '/([^/]+?)$', showSummary: false, showSummaryTemplateContent: ''' Git Changelog changelog
+
+
+Changelog of Git Changelog.
+
+
+{{#tags}}
+ {{name}}
+ {{#issues}}
+ {{#hasIssue}}
+ {{#hasLink}}
+ {{name}} {{issue}} {{title}}
+ {{/hasLink}}
+ {{^hasLink}}
+ {{name}} {{issue}} {{title}}
+ {{/hasLink}}
+ {{/hasIssue}}
+ {{^hasIssue}}
+ {{name}}
+ {{/hasIssue}}
+
+
+ {{#commits}}
+{{hash}} {{authorName}} {{commitTime}}
+
+
{{{messageTitle}}}
+
+{{#messageBodyItems}}
+ {{.}}
+{{/messageBodyItems}}
+
+
+
+ {{/commits}}
+
+ {{/issues}}
+{{/tags}}
+''', showSummaryTemplateFile: '', showSummaryUseTemplateContent: false, showSummaryUseTemplateFile: false, subDirectory: '', timeZone: 'UTC', toReference: '', toType: 'master', untaggedName: 'Unreleased', useConfigFile: false, useFile: true, useGitHub: false, useGitHubApiTokenCredentials: false, useGitLab: false, useGitLabApiTokenCredentials: false, useIgnoreTagsIfNameMatches: false, useJira: false, useJiraUsernamePasswordCredentialsId: false, useMediaWiki: false, useReadableTagName: false, useSubDirectory: false]])
+
+ }
+ }
+
+ stage('check for UTF-8 files') {
+ steps {
+ sh '''if [ ! -d tests ]; then
+ mkdir tests
+ fi
+ if [ -f tests/UTF_Files ]; then
+ rm -Rf tests/UTF_Files
+ fi
+ echo "$(find . -type f -exec file {} \\;)" > FileList
+ echo "$(grep -v ASCII FileList | grep -v git)" > tests/UTF_Files'''
+ }
+ }
+
+ stage('show diff') {
+ steps {
+ sh 'git diff'
+ }
+ }
+
+ stage('recommit changes to repo') {
+ steps {
+ sshagent(['0c22dc63-2ae0-4ad5-98e0-65aa0f0f411g']) {
+ sh '''git config user.name "Jenkins Server"
+ git config user.email jenkins@confdroid.com
+ echo `git add -A && git commit -am "recommit for updates in build $BUILD_NUMBER"`
+ git push origin HEAD:jenkins'''
+ }
+ }
+ }
+
+ stage('update Gitlab') {
+ steps {
+ updateGitlabCommitStatus state: 'success'
+ }
+ }
+ }
+
+ post {
+ always {
+ deleteDir() /* clean up our workspace */
+ }
+ success {
+ echo 'Pipeline finished successfully!'
+ }
+ unstable {
+ echo 'I am unstable :/'
+ }
+ failure {
+ echo 'I failed :('
+ step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'support@confdroid.com', sendToIndividuals: true])
+ }
+ changed {
+ echo 'Things were different before...'
+ mail bcc: '', body: "Pipeline Job '${JOB_NAME}' has changed, please verify.", cc: '', from: '', replyTo: '', subject: "Pipeline Job '${JOB_NAME}' has changed", to: 'support@confdroid.com'
+ }
+ }
+}