Build configuration parameter for enabling ssh debug
authorDmitry Neverov <dmitry.neverov@jetbrains.com>
Tue, 15 May 2018 08:18:20 +0000 (10:18 +0200)
committerDmitry Neverov <dmitry.neverov@jetbrains.com>
Tue, 15 May 2018 08:19:09 +0000 (10:19 +0200)
git-agent/src/jetbrains/buildServer/buildTriggers/vcs/git/agent/BuildContext.java
git-agent/src/jetbrains/buildServer/buildTriggers/vcs/git/agent/Context.java
git-agent/src/jetbrains/buildServer/buildTriggers/vcs/git/agent/NoBuildContext.java
git-agent/src/jetbrains/buildServer/buildTriggers/vcs/git/agent/command/impl/SshHandler.java

index fe6751ebc15d9ace6ac252ca3a8418fe28ee6fe7..393b3c7c9d8c9bf4456f1d942f8f672f4cadd9ac 100644 (file)
@@ -18,6 +18,7 @@ package jetbrains.buildServer.buildTriggers.vcs.git.agent;
 
 import jetbrains.buildServer.agent.AgentRunningBuild;
 import jetbrains.buildServer.agent.BuildInterruptReason;
+import jetbrains.buildServer.log.Loggers;
 import jetbrains.buildServer.util.StringUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -61,6 +62,11 @@ public class BuildContext implements Context {
     return myConfig.isProvideCredHelper();
   }
 
+  @Override
+  public boolean isDebugSsh() {
+    return Loggers.VCS.isDebugEnabled() || Boolean.parseBoolean(myBuild.getSharedConfigParameters().get("teamcity.git.sshDebug"));
+  }
+
   @Nullable
   @Override
   public AgentPluginConfig getConfig() {
index 698f1ca5abe4763ab0d2b8c92965e1f5ad83f23e..6ececcadffad4e6e320825d0168774014eb15192 100644 (file)
@@ -35,4 +35,6 @@ public interface Context {
   @Nullable
   AgentPluginConfig getConfig();
 
+  boolean isDebugSsh();
+
 }
index b47ed893068256f0c7ea6b7270c030306b8be084..0b62afc8f644e982467f201072cce05c0c87914e 100644 (file)
@@ -17,6 +17,7 @@
 package jetbrains.buildServer.buildTriggers.vcs.git.agent;
 
 import jetbrains.buildServer.agent.BuildInterruptReason;
+import jetbrains.buildServer.log.Loggers;
 import org.jetbrains.annotations.Nullable;
 
 public class NoBuildContext implements Context {
@@ -44,6 +45,11 @@ public class NoBuildContext implements Context {
     return false;
   }
 
+  @Override
+  public boolean isDebugSsh() {
+    return Loggers.VCS.isDebugEnabled();
+  }
+
   @Nullable
   @Override
   public AgentPluginConfig getConfig() {
index 6a45df5ca494af1766e68fa6915c18889d51a3f2..1c85545f54f285b68a33a0e3738f06bed60209e0 100644 (file)
@@ -100,7 +100,7 @@ public class SshHandler implements GitSSHService.Handler {
       cmd.addEnvParam(GitSSHHandler.TEAMCITY_SSH_MAC_TYPE, ctx.getSshMacType());
     if (ctx.getPreferredSshAuthMethods() != null)
       cmd.addEnvParam(GitSSHHandler.TEAMCITY_SSH_PREFERRED_AUTH_METHODS, ctx.getPreferredSshAuthMethods());
-    cmd.addEnvParam(GitSSHHandler.TEAMCITY_DEBUG_SSH, String.valueOf(Loggers.VCS.isDebugEnabled()));
+    cmd.addEnvParam(GitSSHHandler.TEAMCITY_DEBUG_SSH, String.valueOf(ctx.isDebugSsh()));
     AgentPluginConfig config = ctx.getConfig();
     if (config != null)
       cmd.addEnvParam(GitSSHHandler.TEAMCITY_SSH_IDLE_TIMEOUT_SECONDS, String.valueOf(config.getIdleTimeoutSeconds()));