diff --git a/src/main/java/org/davidbohl/dirigent/deployments/DeploymentsService.java b/src/main/java/org/davidbohl/dirigent/deployments/DeploymentsService.java index 7e570da..59797e5 100644 --- a/src/main/java/org/davidbohl/dirigent/deployments/DeploymentsService.java +++ b/src/main/java/org/davidbohl/dirigent/deployments/DeploymentsService.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -77,7 +78,12 @@ public class DeploymentsService { try { gitService.cloneOrPull(deployment.source(), deploymentDir.getAbsolutePath()); - new ProcessBuilder(composeCommand, "up", "-d", "--remove-orphans") + List commandArgs = new java.util.ArrayList<>(Arrays.stream(composeCommand.split(" ")).toList()); + commandArgs.add("up"); + commandArgs.add("-d"); + commandArgs.add("--remove-orphans"); + + new ProcessBuilder(commandArgs) .directory(deploymentDir) .start().waitFor(); diff --git a/src/main/java/org/davidbohl/dirigent/deployments/GitService.java b/src/main/java/org/davidbohl/dirigent/deployments/GitService.java index 846fed8..780ffff 100644 --- a/src/main/java/org/davidbohl/dirigent/deployments/GitService.java +++ b/src/main/java/org/davidbohl/dirigent/deployments/GitService.java @@ -8,6 +8,7 @@ import org.springframework.web.util.UriComponentsBuilder; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.Objects; @Service @@ -24,7 +25,7 @@ public class GitService { File destinationDir = new File(destination); - if (destinationDir.exists()) { + if (destinationDir.exists() && Arrays.asList(Objects.requireNonNull(destinationDir.list())).contains(".git")) { logger.debug("Local Repo exists. Pulling latest changes."); new ProcessBuilder("git", "fetch", "--all") .directory(destinationDir).start().waitFor(); @@ -47,14 +48,14 @@ public class GitService { } } - boolean deleteDirectory(File directoryToBeDeleted) { + void deleteDirectory(File directoryToBeDeleted) { File[] allContents = directoryToBeDeleted.listFiles(); if (allContents != null) { for (File file : allContents) { deleteDirectory(file); } } - return directoryToBeDeleted.delete(); + directoryToBeDeleted.delete(); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 4dc0969..28217f2 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,4 @@ spring.application.name=dirigent -dirigent.compose.command=podman-compose +dirigent.compose.command=docker-compose dirigent.deployments.cache.evict.interval=60000 spring.profiles.active=local \ No newline at end of file