Versiyon güncellemesi

This commit is contained in:
Sedat ÖZTÜRK 2025-09-23 09:10:03 +03:00
parent a8dbf4c3c5
commit 0767ebb60e
4 changed files with 205 additions and 11 deletions

View file

@ -8,23 +8,18 @@ git fetch && git pull
cd ~/kurs-platform/ui
# Git tag'den versiyonu al (örn: v1.0.11 -> 1.0.11), yoksa package.json'daki versiyon
# Git tag'den son versiyonu al (örn: v1.0.11 -> 1.0.11), yoksa package.json'daki versiyon
VERSION=$(git tag --sort=-creatordate | head -n1 | sed 's/^v//' || jq -r .version package.json)
# Commit hash
COMMIT=$(git rev-parse --short HEAD)
echo "Build versiyonu: ${VERSION}"
echo "Commit: ${COMMIT}"
./scripts/generate-version.sh
# Deploy öncesi git üzerindeki tüm versiyon bilgilerini güncelle
#./scripts/generate-version.sh
./scripts/write-version.js
docker build \
-t devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-${VERSION} \
-t devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-latest \
-f Kurs.Platform.Ui.Dockerfile \
--build-arg ENV=${ENV} \
--build-arg APP_VERSION=${VERSION} \
--build-arg GIT_COMMIT=${COMMIT} .
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=${ENV} .
docker push devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-${VERSION}
docker push devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-latest

View file

@ -6,6 +6,7 @@
"type": "module",
"scripts": {
"start": "vite",
"prebuild": "node scripts/write-version.js",
"build": "vite build",
"preview": "vite preview",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx,.json",

131
ui/public/version.json Normal file
View file

@ -0,0 +1,131 @@
{
"commit": "a8dbf4c",
"releases": [
{
"version": "1.0.16",
"buildDate": "2025-09-23",
"commit": "08799590e2e3dcee039e88370540c9224420d17f",
"changeLog": [
"Genel versiyon düzeltmesi"
]
},
{
"version": "1.0.15",
"buildDate": "2025-09-23",
"commit": "08799590e2e3dcee039e88370540c9224420d17f",
"changeLog": [
"Genel versiyon güncelleme hataları",
"- UI versiyon gösterilecek",
"- Deploy edilince otomatik sayfa tazelenecek"
]
},
{
"version": "1.0.14",
"buildDate": "2025-09-22",
"commit": "1c4ab4f8232b4cd2a39fa66f8101664840113ce5",
"changeLog": [
"Yeni versiyon çıktı uyarı gelecek şekilde düzenlendi.",
"Sağ alt kısımda mesaj çıkacak ve yenile butonu ile uygulama yeni versiyona geçecektir."
]
},
{
"version": "1.0.13",
"buildDate": "2025-09-22",
"commit": "c5f3a65304bc3c04d89ddf2f01d02563c656b911",
"changeLog": [
"nginx ayarları ve versiyon yenileme hakkında düzeltme"
]
},
{
"version": "1.0.12",
"buildDate": "2025-09-22",
"commit": "f55b777a171ec2072999e204b8e1e818fd91d8a3",
"changeLog": [
"Versiyon yenileme sistemi güncellemesi"
]
},
{
"version": "1.0.11",
"buildDate": "2025-09-22",
"commit": "b2e489d7051ca47a82561cbf2674ec49dc30ed92",
"changeLog": [
"Liste formlarda Layout görünümü düzenlemesi"
]
},
{
"version": "1.0.10",
"buildDate": "2025-09-22",
"commit": "b75158bc018b4d5076e0208796d68f16975e77d8",
"changeLog": [
"EditorOptions içerisine DataSource özelliği eklendi"
]
},
{
"version": "1.0.9",
"buildDate": "2025-09-21",
"commit": "e14d6930c21d2b1c108f16ce675dd05474a95d9e",
"changeLog": [
"Form komponentinin SelectBox -> lookup bilgisi varsa verileri dolduruyor"
]
},
{
"version": "1.0.8",
"buildDate": "2025-09-21",
"commit": "3f69cc54e94cf40db87fb23ba4cf7b311cc1f77c",
"changeLog": [
"Listelere Grid ve Card görünümleri eklendi."
]
},
{
"version": "1.0.7",
"buildDate": "2025-09-20",
"commit": "a01422ca600fbcbdf3f51bb9c91ad7dba46c98a2",
"changeLog": [
"Versiyon güncellemesi için geçiş uyarı sistemi"
]
},
{
"version": "1.0.6",
"buildDate": "2025-09-19",
"commit": "9e85780623d940f43155474b66f2820d997abe3a",
"changeLog": [
"Versiyon güncelleme sistemi",
"Vite.Config dosyasında hızlandırma adına güncellemeler"
]
},
{
"version": "1.0.5",
"buildDate": "2025-09-19",
"commit": "c947fb2a1c0979df3d7fd4dab47af7a2d370f622",
"changeLog": [
"Form ekranındaki Butonlar güncellemeleri yapıldı",
"Edit Form ekranındaki Info butonu eklendi.",
"New Form ekranındaki Geri butonu eklendi."
]
},
{
"version": "1.0.4",
"buildDate": "2025-09-19",
"commit": "6766d1129d345e165282fc3ec198a168f188ab00",
"changeLog": [
"Subformlar üzerinde extra filters ve Widget çalışmaları yapıldı."
]
},
{
"version": "1.0.3",
"buildDate": "2025-09-19",
"commit": "656d1626179733f8da56aa2268b852a79efe26d8",
"changeLog": [
"Manage Grid üzerinde Extra filtre tanımlaması yapıldı."
]
},
{
"version": "1.0.2",
"buildDate": "2025-09-16",
"commit": "c6d2fbf30acae9c96502dfdd3846cbfbaf8af614",
"changeLog": [
"Genel Static olan Url bilgileri kaldırıldı."
]
}
]
}

View file

@ -0,0 +1,67 @@
// scripts/write-version.js
import fs from 'fs'
import { execSync } from 'child_process'
function safeExec(cmd) {
try {
return execSync(cmd, { stdio: ['pipe', 'pipe', 'ignore'], shell: true })
.toString()
.trim()
} catch {
return null
}
}
let releases = []
let commit = null
if (fs.existsSync('.git') || fs.existsSync('../.git')) {
// Git varsa: taglerden oku
const rawTags = safeExec('git tag --list --sort=creatordate')
if (rawTags) {
const tags = rawTags.split('\n').filter(Boolean)
releases = tags.map((tag) => {
const version = tag.replace(/^v/, '')
const date = safeExec(`git log -1 --format=%ad --date=short ${tag}`)
const commitId = safeExec(`git rev-list -n 1 ${tag}`)
const messageRaw = safeExec(`git tag -l --format="%(contents)" ${tag}`)
const changeLog = messageRaw
? messageRaw
.split('\n')
.map((s) => s.trim())
.filter(Boolean)
: ['No changelog for this tag']
return {
version,
buildDate: date,
commit: commitId,
changeLog,
}
})
}
commit = safeExec('git rev-parse --short HEAD')
} else {
// Git yoksa (ör. dev build)
const pkg = JSON.parse(fs.readFileSync('package.json'))
const version = pkg.version || '0.0.0'
commit = process.env.GIT_COMMIT || 'dev-local'
releases = [
{
version,
buildDate: new Date().toISOString().slice(0, 10),
commit,
changeLog: [
'Local development build',
'Git bilgisi mevcut değil, package.json versiyonu kullanıldı',
],
},
]
}
const versionInfo = { commit, releases: releases.reverse() }
fs.writeFileSync('public/version.json', JSON.stringify(versionInfo, null, 2))
console.log('> version.json güncellendi:', versionInfo)