Compare commits

...

15 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
Jenkins Server
76d880c31f Merge build 4 into master 2026-04-16 22:02:13 +02:00
Jenkins Server
c9495162e3 Recommit for updates in build 4 2026-04-16 22:02:12 +02:00
Jenkins Server
37fc2de34c Merge remote-tracking branch 'origin/master' into jenkins-build-4 2026-04-16 22:01:30 +02:00
f7c6180b01 OP#586 add tagging sync 2026-04-16 22:01:10 +02:00
e923c8c0e2 OP#586 add tagging sync 2026-04-16 22:00:34 +02:00
8c7d3947cb OP#586 add tagging sync 2026-04-16 21:57:39 +02:00
4 changed files with 13 additions and 138 deletions

130
Jenkinsfile vendored
View File

@@ -1,130 +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 origin
git checkout master
git reset --hard origin/master
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 refs/heads/master:refs/heads/master
'''
}
}
}
}
}
}

View File

@@ -1,6 +1,7 @@
# Readme
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_java&style=plastic)](https://jenkins.confdroid.com/job/confdroid_java/)
[![Security Hotspots](https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_java&metric=security_hotspots&token=sqb_c7b9021dbe66678773699d0232454ad6cc64234f)](https://sonarqube.confdroid.com/dashboard?id=confdroid_java)
- [Readme](#readme)
- [Synopsis](#synopsis)
@@ -18,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

@@ -60,7 +60,7 @@
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://jenkins.confdroid.com/job/confdroid_java/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_java&amp;style=plastic"></a></p>
<p><a href="https://jenkins.confdroid.com/job/confdroid_java/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_java&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_java"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_java&amp;metric=security_hotspots&amp;token=sqb_c7b9021dbe66678773699d0232454ad6cc64234f"></a></p>
<ul><li>
<p><a href="#readme">Readme</a></p>
</li><li>
@@ -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

@@ -60,7 +60,7 @@
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://jenkins.confdroid.com/job/confdroid_java/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_java&amp;style=plastic"></a></p>
<p><a href="https://jenkins.confdroid.com/job/confdroid_java/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_java&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_java"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_java&amp;metric=security_hotspots&amp;token=sqb_c7b9021dbe66678773699d0232454ad6cc64234f"></a></p>
<ul><li>
<p><a href="#readme">Readme</a></p>
</li><li>
@@ -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>