Merge build 36 into master
This commit is contained in:
41
Jenkinsfile
vendored
41
Jenkinsfile
vendored
@@ -28,11 +28,17 @@ pipeline {
|
|||||||
sh '''
|
sh '''
|
||||||
git config user.name "Jenkins Server"
|
git config user.name "Jenkins Server"
|
||||||
git config user.email jenkins@confdroid.com
|
git config user.email jenkins@confdroid.com
|
||||||
# Ensure we're on the development branch (triggered by push)
|
git fetch origin
|
||||||
git checkout development
|
source_branch="${gitlabSourceBranch:-${BRANCH_NAME:-${GIT_LOCAL_BRANCH:-$GIT_BRANCH}}}"
|
||||||
# Create jenkins branch from development
|
source_branch="${source_branch#origin/}"
|
||||||
git checkout -b jenkins-build-$BUILD_NUMBER
|
source_branch="${source_branch#refs/heads/}"
|
||||||
# Optionally merge master into jenkins to ensure compatibility
|
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; }
|
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@@ -91,12 +97,10 @@ pipeline {
|
|||||||
git config user.name "Jenkins Server"
|
git config user.name "Jenkins Server"
|
||||||
git config user.email jenkins@confdroid.com
|
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 add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
|
||||||
git push -o merge_request.create \
|
git fetch origin
|
||||||
-o merge_request.target=master \
|
git checkout -B master origin/master
|
||||||
-o merge_request.title="Auto-merge for build $BUILD_NUMBER" \
|
git merge --no-ff jenkins-build-$BUILD_NUMBER -m "Merge build $BUILD_NUMBER into master"
|
||||||
-o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \
|
git push origin master
|
||||||
-o merge_request.merge_when_pipeline_succeeds=true \
|
|
||||||
origin jenkins-build-$BUILD_NUMBER
|
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -108,19 +112,14 @@ pipeline {
|
|||||||
usernameVariable: 'GITEA_USER',
|
usernameVariable: 'GITEA_USER',
|
||||||
passwordVariable: 'GITEA_TOKEN')]) {
|
passwordVariable: 'GITEA_TOKEN')]) {
|
||||||
script {
|
script {
|
||||||
// Checkout from GitLab (already done implicitly)
|
|
||||||
sh '''
|
sh '''
|
||||||
|
git fetch origin
|
||||||
git checkout master
|
git checkout master
|
||||||
git pull origin master
|
git reset --hard origin/master
|
||||||
git branch -D development
|
git remote remove gitea || true
|
||||||
git branch -D jenkins-build-$BUILD_NUMBER
|
git remote add gitea https://sourcecode.confdroid.com/confdroid/confdroid_ssh.git
|
||||||
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 -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
|
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
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user