modified: build.gradle
new file: deploy.ps1 new file: quick-deploy.ps1
This commit is contained in:
34
build.gradle
34
build.gradle
@@ -1,5 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'java'
|
id 'java'
|
||||||
|
id 'org.hidetake.ssh' version '2.10.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
group = 'com.simolzimol.levelcraft'
|
group = 'com.simolzimol.levelcraft'
|
||||||
@@ -25,4 +26,37 @@ tasks.withType(JavaCompile).configureEach {
|
|||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
from("plugin.yml")
|
from("plugin.yml")
|
||||||
|
}
|
||||||
|
|
||||||
|
// SSH Konfiguration für Server Upload
|
||||||
|
remotes {
|
||||||
|
server {
|
||||||
|
host = '195.201.241.113'
|
||||||
|
user = 'root'
|
||||||
|
// Option 1: Passwort (funktioniert zuverlässig)
|
||||||
|
password = System.getProperty('server.password') ?: System.getenv('SERVER_PASSWORD')
|
||||||
|
|
||||||
|
// Option 2: SSH Key (Gradle Plugin hat Kompatibilitätsprobleme)
|
||||||
|
// identity = file("${System.getProperty('user.home')}/.ssh/levelcraft_server_key_rsa")
|
||||||
|
|
||||||
|
// Host Key Verification deaktivieren (für Tests)
|
||||||
|
knownHosts = allowAnyHosts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Upload Task - nur hochladen, kein Server-Neustart
|
||||||
|
task uploadPlugin(dependsOn: jar) {
|
||||||
|
group = 'deployment'
|
||||||
|
description = 'Lädt das Plugin auf den Server hoch'
|
||||||
|
|
||||||
|
doLast {
|
||||||
|
ssh.run {
|
||||||
|
session(remotes.server) {
|
||||||
|
println "Uploading plugin to server..."
|
||||||
|
put from: jar.archiveFile.get().asFile,
|
||||||
|
into: '/home/CloudNet/local/templates/develop/default/plugins/LevelCraft.jar'
|
||||||
|
println "Plugin successfully uploaded!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
29
deploy.ps1
Normal file
29
deploy.ps1
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# LevelCraft Plugin Deploy Script
|
||||||
|
param(
|
||||||
|
[switch]$UsePassword,
|
||||||
|
[string]$Password = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
Write-Host "LevelCraft Plugin Deployment" -ForegroundColor Green
|
||||||
|
Write-Host "="*40 -ForegroundColor Green
|
||||||
|
|
||||||
|
if ($UsePassword) {
|
||||||
|
if (!$Password) {
|
||||||
|
$SecurePassword = Read-Host "Server Password" -AsSecureString
|
||||||
|
$Password = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePassword))
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Using password authentication..." -ForegroundColor Yellow
|
||||||
|
$env:SERVER_PASSWORD = $Password
|
||||||
|
./gradlew uploadPlugin
|
||||||
|
Remove-Item Env:SERVER_PASSWORD -ErrorAction SilentlyContinue
|
||||||
|
} else {
|
||||||
|
Write-Host "Using SSH key authentication..." -ForegroundColor Yellow
|
||||||
|
./gradlew uploadPlugin
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($LASTEXITCODE -eq 0) {
|
||||||
|
Write-Host "`nDeployment successful! ✅" -ForegroundColor Green
|
||||||
|
} else {
|
||||||
|
Write-Host "`nDeployment failed! ❌" -ForegroundColor Red
|
||||||
|
}
|
||||||
44
quick-deploy.ps1
Normal file
44
quick-deploy.ps1
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Einfaches Deploy Script für LevelCraft
|
||||||
|
param(
|
||||||
|
[switch]$SavePassword,
|
||||||
|
[switch]$Build
|
||||||
|
)
|
||||||
|
|
||||||
|
Write-Host "🚀 LevelCraft Quick Deploy" -ForegroundColor Green
|
||||||
|
Write-Host "=========================" -ForegroundColor Green
|
||||||
|
|
||||||
|
# Prüfe ob Passwort bereits gesetzt ist
|
||||||
|
if (-not $env:SERVER_PASSWORD) {
|
||||||
|
Write-Host "⚠️ Server-Passwort nicht gesetzt." -ForegroundColor Yellow
|
||||||
|
|
||||||
|
if ($SavePassword) {
|
||||||
|
Write-Host "💾 Passwort wird für diese PowerShell Session gespeichert..." -ForegroundColor Cyan
|
||||||
|
}
|
||||||
|
|
||||||
|
$securePassword = Read-Host "🔐 Server Passwort eingeben" -AsSecureString
|
||||||
|
$env:SERVER_PASSWORD = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword))
|
||||||
|
|
||||||
|
if ($SavePassword) {
|
||||||
|
Write-Host "✅ Passwort gesetzt! Du musst es in dieser Session nicht mehr eingeben." -ForegroundColor Green
|
||||||
|
Write-Host "💡 Tipp: Verwende einfach './quick-deploy.ps1' für weitere Uploads." -ForegroundColor Cyan
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($Build) {
|
||||||
|
Write-Host "🔨 Building plugin..." -ForegroundColor Yellow
|
||||||
|
./gradlew clean build
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host "❌ Build failed!" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "📤 Uploading plugin..." -ForegroundColor Yellow
|
||||||
|
./gradlew uploadPlugin
|
||||||
|
|
||||||
|
if ($LASTEXITCODE -eq 0) {
|
||||||
|
Write-Host "✅ Plugin successfully deployed!" -ForegroundColor Green
|
||||||
|
Write-Host "📁 Location: /home/CloudNet/local/templates/develop/default/plugins/LevelCraft.jar" -ForegroundColor Cyan
|
||||||
|
} else {
|
||||||
|
Write-Host "❌ Upload failed!" -ForegroundColor Red
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user