This commit is contained in:
Artur Kuś 2025-09-04 23:39:57 +02:00
parent 36e1417af1
commit 01eca704e7
1 changed files with 28 additions and 50 deletions

View File

@ -1,61 +1,39 @@
def git_remote = "https://git.arti24.eu/gitea"
def projects = [
"proxy-nginx",
"arti24",
"angular-services",
"arti-angular-app"
]
def programs = "/_sd_/_programs_"
def git_take(projects, git_remote) {
withCredentials([usernamePassword(
credentialsId: '9e8daaa4-8c14-41ae-947b-65ba47965dfe',
usernameVariable: 'GIT_USER',
passwordVariable: 'GIT_PASS')]) {
projects.each { project ->
if (fileExists(project)) {
dir(project) {
sh """
echo "=== Updating ${project} ==="
git config --global --add safe.directory \$(pwd)
git remote set-url origin https://${GIT_USER}:${GIT_PASS}@git.arti24.eu/gitea/${project}.git
git fetch --prune origin
git checkout -B main origin/main
"""
}
} else {
sh """
echo "=== Cloning ${project} (last year only) ==="
git clone --shallow-since="1 year ago" https://${GIT_USER}:${GIT_PASS}@git.arti24.eu/gitea/${project}.git ${project}
"""
dir(project) {
sh "git config --global --add safe.directory \$(pwd)"
}
}
dir(project) {
sh "git --no-pager log -n 1 --pretty=format:'%h %ad %s' --date=short"
}
}
}
}
pipeline { pipeline {
agent any agent {
environment { node {
CUSTOM_WORKSPACE = '/_sd_/_programs_' label 'master' // lub inna działająca etykieta
customWorkspace '/_sd_/_programs_'
}
} }
stages { stages {
stage('Update from git') { stage('Update from git') {
steps { steps {
script { script {
git_take(projects, git_remote) withCredentials([usernamePassword(
credentialsId: '9e8daaa4-8c14-41ae-947b-65ba47965dfe',
usernameVariable: 'GIT_USER',
passwordVariable: 'GIT_PASS')]) {
projects.each { project ->
if (fileExists(project)) {
dir(project) {
sh """
git config --global --add safe.directory \$(pwd)
git remote set-url origin https://${GIT_USER}:${GIT_PASS}@git.arti24.eu/gitea/${project}.git
git fetch --prune origin
git checkout -B main origin/main
"""
}
} else {
sh """
git clone --shallow-since="1 year ago" https://${GIT_USER}:${GIT_PASS}@git.arti24.eu/gitea/${project}.git ${project}
"""
}
}
}
} }
} }
} }
} }
} }