rewrite pipeline to reflect pushing same commits to both remotes

This commit is contained in:
2026-04-14 13:47:17 +02:00
parent 893ed11ce7
commit a35060c2cf

36
Jenkinsfile vendored
View File

@@ -28,11 +28,12 @@ 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
# Reset the workspace to the exact branch revision that triggered the build.
git checkout -B "$BRANCH_NAME" "origin/$BRANCH_NAME"
# Create an isolated build branch from the triggering branch.
git checkout -B jenkins-build-$BUILD_NUMBER
# Merge the current master into the build branch before validation.
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
'''
}
@@ -91,12 +92,10 @@ pipeline {
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 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
'''
}
}
@@ -108,19 +107,14 @@ pipeline {
usernameVariable: 'GITEA_USER',
passwordVariable: 'GITEA_TOKEN')]) {
script {
// Checkout from GitLab (already done implicitly)
sh '''
git fetch origin
git checkout master
git pull origin master
git branch -D development
git branch -D jenkins-build-$BUILD_NUMBER
git rm -f Jenkinsfile
git rm -r --cached .vscode || echo "No .vscode to remove from git"
git rm -r --cached .puppet-lint.rc || echo "No .puppet-lint.rc to remove from git"
git commit --amend --no-edit --allow-empty
git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_ssh.git
git reset --hard origin/master
git remote remove gitea || true
git remote add gitea https://sourcecode.confdroid.com/confdroid/confdroid_ssh.git
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master --mirror
push gitea refs/heads/master:refs/heads/master
'''
}
}