diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f93489 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# +.yardoc +Gemfile.lock +FileList +.scannerwork +.vscode \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..13bbd81 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,79 @@ +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 + # 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 merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; } + ''' + } + } + } + + 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 push origin HEAD:master + ''' + } + } + } + + stage('Mirror to Gitea') { + steps { + withCredentials([usernamePassword( + credentialsId: 'Jenkins-gitea', + usernameVariable: 'GITEA_USER', + passwordVariable: 'GITEA_TOKEN')]) { + script { + // Checkout from GitLab (already done implicitly) + sh ''' + git checkout master + git pull origin master + git branch -D development + git branch -D jenkins-build-$BUILD_NUMBER + git rm -f Jenkinsfile + git commit --amend --no-edit --allow-empty + git remote add master https://gitea.confdroid.com/confdroid/confdroid-package-management.git + git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ + push master --mirror + ''' + } + } + } + } + } +} \ No newline at end of file diff --git a/keys/RPM-GPG-KEY-public.asc b/keys/RPM-GPG-KEY-public.asc new file mode 100644 index 0000000..7e287eb --- /dev/null +++ b/keys/RPM-GPG-KEY-public.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=ol2j +-----END PGP PUBLIC KEY BLOCK-----