diff --git a/.gitignore b/.gitignore index a356406..ae5ef54 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ Gemfile.lock FileList .scannerwork +.vscode +.puppet-lint.rc \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 4a879a7..fe53574 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,10 @@ { "cSpell.words": [ + "descr", "fontconfig", + "gpgcheck", "NOPASSWD", - "requiretty" + "requiretty", + "yumrepo" ] } \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index 7a37490..9f2822d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,11 +28,17 @@ pipeline { sh ''' git config user.name "Jenkins Server" git config user.email jenkins@confdroid.com - # Ensure we're on the development branch (triggered by push) - git checkout development - # Create jenkins branch from development - git checkout -b jenkins-build-$BUILD_NUMBER - # Optionally merge master into jenkins to ensure compatibility + 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; } ''' } @@ -69,7 +75,7 @@ pipeline { withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) { sh ''' /opt/sonar-scanner/bin/sonar-scanner \ - -Dsonar.projectKey=jenkins_cd \ + -Dsonar.projectKey=confdroid_jenkins \ -Dsonar.sources=. \ -Dsonar.host.url=https://sonarqube.confdroid.com \ -Dsonar.token=$SONAR_TOKEN @@ -88,18 +94,37 @@ pipeline { 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 push -o merge_request.create \ - -o merge_request.target=master \ - -o merge_request.title="Auto-merge for build $BUILD_NUMBER" \ - -o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \ - -o merge_request.merge_when_pipeline_succeeds=true \ - origin jenkins-build-$BUILD_NUMBER + 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_jenkins.git \ + || git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_jenkins.git + git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ + push --force master refs/heads/master:refs/heads/master + ''' + } + } + } + } } } \ No newline at end of file diff --git a/README.md b/README.md index af266a5..f94db55 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Readme -[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=jenkins_cd)](https://jenkins.confdroid.com/job/jenkins_cd/)| +[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_jenkins)](https://jenkins.confdroid.com/job/confdroid_jenkins/)| [[_TOC_]] @@ -36,7 +36,7 @@ via site.pp or nodes.pp ```bash node 'example.example.net' { - include jenkins_cd + include confdroid_jenkins } ``` diff --git a/doc/_index.html b/doc/_index.html index 53a1f38..113b85b 100644 --- a/doc/_index.html +++ b/doc/_index.html @@ -64,52 +64,52 @@ -