Compare commits

...

9 Commits

Author SHA1 Message Date
Jenkins Server
0f94871e6e Remove Jenkinsfile for Gitea mirror 2026-04-18 17:42:58 +02:00
Jenkins Server
c8d987682c Merge build 6 into master 2026-04-18 17:42:53 +02:00
Jenkins Server
aee76fc969 Recommit for updates in build 6 2026-04-18 17:42:52 +02:00
Jenkins Server
3e6d014b99 Merge remote-tracking branch 'origin/master' into jenkins-build-6 2026-04-18 17:42:10 +02:00
92dd1c441d edit Readme 2026-04-18 17:41:50 +02:00
Jenkins Server
5b020c7b05 Merge build 5 into master 2026-04-16 22:04:52 +02:00
Jenkins Server
e0b605e388 Recommit for updates in build 5 2026-04-16 22:04:50 +02:00
Jenkins Server
8ecef15579 Merge remote-tracking branch 'origin/master' into jenkins-build-5 2026-04-16 22:04:10 +02:00
c3c92ecd4b OP#586 edit warning section 2026-04-16 22:03:53 +02:00
4 changed files with 10 additions and 151 deletions

145
Jenkinsfile vendored
View File

@@ -1,145 +0,0 @@
pipeline {
agent {
label 'puppet'
}
post {
always {
deleteDir() /* clean up our workspace */
}
success {
updateGitlabCommitStatus state: 'success'
}
failure {
updateGitlabCommitStatus state: 'failed'
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'support@confdroid.com', sendToIndividuals: true])
}
}
options {
gitLabConnection('gitlab.confdroid.com')
}
stages {
stage('pull master') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
git fetch origin
source_branch="${gitlabSourceBranch:-${BRANCH_NAME:-${GIT_LOCAL_BRANCH:-$GIT_BRANCH}}}"
source_branch="${source_branch#origin/}"
source_branch="${source_branch#refs/heads/}"
if [ -z "$source_branch" ]; then
source_branch="development"
fi
echo "Using source branch: $source_branch"
# Create an isolated build branch from the triggering branch revision.
git checkout -B jenkins-build-$BUILD_NUMBER "origin/$source_branch"
# Merge the current master into the build branch before validation.
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
'''
}
}
}
stage('puppet parser') {
steps {
sh '''for file in $(find . -iname \'*.pp\'); do
/opt/puppetlabs/bin/puppet parser validate --color false --render-as s --modulepath=modules $file || exit 1;
done;'''
}
}
stage('check templates') {
steps{
sh '''for file in $(find . -iname \'*.erb\');
do erb -P -x -T "-" $file | ruby -c || exit 1;
done;'''
}
}
stage('puppet-lint') {
steps {
sh '''/usr/local/bin/puppet-lint . \\
--no-variable_scope-check \\
|| { echo "Puppet lint failed"; exit 1; }
'''
}
}
stage('SonarScan') {
steps {
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
sh '''
/opt/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=confdroid_java \
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarqube.confdroid.com \
-Dsonar.token=$SONAR_TOKEN
'''
}
}
}
stage('create Puppet documentation') {
steps {
sh '/opt/puppetlabs/bin/puppet strings'
}
}
stage('update repo') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
git fetch origin
git checkout -B master origin/master
git merge --no-ff jenkins-build-$BUILD_NUMBER -m "Merge build $BUILD_NUMBER into master"
git push origin master
'''
}
}
}
stage('Mirror to Gitea') {
steps {
withCredentials([usernamePassword(
credentialsId: 'Jenkins-gitea',
usernameVariable: 'GITEA_USER',
passwordVariable: 'GITEA_TOKEN')]) {
script {
sh '''
git fetch --tags origin
git checkout -B gitea-mirror-$BUILD_NUMBER origin/master
git rm -f Jenkinsfile
git commit -m "Remove Jenkinsfile for Gitea mirror" || echo "No changes to commit"
git remote get-url master >/dev/null 2>&1 \
&& git remote set-url master https://sourcecode.confdroid.com/confdroid/confdroid_java.git \
|| git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_java.git
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push --force master HEAD:refs/heads/master
git ls-remote --heads master | awk '{print $2}' | sed 's#refs/heads/##' | while read branch; do
if [ -n "$branch" ] && [ "$branch" != "master" ]; then
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master --delete "$branch"
fi
done
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master --tags
git ls-remote --tags master | awk '{print $2}' | sed 's#refs/tags/##' | cut -d'^' -f1 | sort -u | while read tag; do
if [ -n "$tag" ] && ! git show-ref --tags --verify --quiet "refs/tags/$tag"; then
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master ":refs/tags/$tag"
fi
done
'''
}
}
}
}
}
}

View File

@@ -19,11 +19,11 @@
## Synopsis
`confdroid_java` is a Puppet module to automate installation and configuration of java, mainly to install the binaries and main configuration files for use with other modules, like jenkins_cd.
`confdroid_java` is a Puppet module to automate installation and configuration of java, mainly to install the binaries and main configuration files for use with other modules, like [confdroid_jenkins](https://sourcecode.confdroid.com/confdroid/confdroid_jenkins).
## WARNING
***Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production***
> **Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production**
## Features

View File

@@ -91,11 +91,13 @@
<h2 id="label-Synopsis">Synopsis</h2>
<p><code>confdroid_java</code> is a Puppet module to automate installation and configuration of java, mainly to install the binaries and main configuration files for use with other modules, like jenkins_cd.</p>
<p><code>confdroid_java</code> is a Puppet module to automate installation and configuration of java, mainly to install the binaries and main configuration files for use with other modules, like <a href="https://sourcecode.confdroid.com/confdroid/confdroid_jenkins">confdroid_jenkins</a>.</p>
<h2 id="label-WARNING">WARNING</h2>
<p><strong><em>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</em></strong></p>
<blockquote>
<p><strong>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</strong></p>
</blockquote>
<h2 id="label-Features">Features</h2>

View File

@@ -91,11 +91,13 @@
<h2 id="label-Synopsis">Synopsis</h2>
<p><code>confdroid_java</code> is a Puppet module to automate installation and configuration of java, mainly to install the binaries and main configuration files for use with other modules, like jenkins_cd.</p>
<p><code>confdroid_java</code> is a Puppet module to automate installation and configuration of java, mainly to install the binaries and main configuration files for use with other modules, like <a href="https://sourcecode.confdroid.com/confdroid/confdroid_jenkins">confdroid_jenkins</a>.</p>
<h2 id="label-WARNING">WARNING</h2>
<p><strong><em>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</em></strong></p>
<blockquote>
<p><strong>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</strong></p>
</blockquote>
<h2 id="label-Features">Features</h2>