diff --git a/pom.xml b/pom.xml index 96b1b10341ba68bfcf29321fa7086e7691633307..53d726d88f4e35548c59db739592542a72ef1e74 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ io.jenkins.plugins aliyun-oss-uploader - 1.2-SNAPSHOT + 1.3-SNAPSHOT hpi diff --git a/src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java b/src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java index 793a6e8686e5f347109e504200403806d1b67cb9..71b5740f3504baf7bd104598fe3ec49ba8f936e7 100644 --- a/src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java +++ b/src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java @@ -10,6 +10,7 @@ import com.aliyun.oss.OSSClient; import hudson.Extension; import hudson.FilePath; import hudson.Launcher; +import hudson.EnvVars; import hudson.model.AbstractProject; import hudson.model.Run; import hudson.model.TaskListener; @@ -89,17 +90,23 @@ public class OSSPublisher extends Publisher implements SimpleBuildStep { public void perform(@Nonnull Run run, @Nonnull FilePath workspace, @Nonnull Launcher launcher, @Nonnull TaskListener listener) throws InterruptedException, IOException { PrintStream logger = listener.getLogger(); + EnvVars envVars = run.getEnvironment(listener); OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret.getPlainText()); String local = localPath.substring(1); String remote = remotePath.substring(1); - FilePath p = new FilePath(workspace, local); + + String expandLocal = envVars.expand(local); + String expandRemote = envVars.expand(remote); + logger.println("expandLocalPath =>" + expandLocal); + logger.println("expandRemotePath =>" + expandRemote); + FilePath p = new FilePath(workspace, expandLocal); if (p.isDirectory()) { logger.println("upload dir => " + p); - upload(client, logger, remote, p, true); + upload(client, logger, expandRemote, p, true); logger.println("upload dir success"); } else { logger.println("upload file => " + p); - uploadFile(client, logger, remote, p); + uploadFile(client, logger, expandRemote, p); logger.println("upload file success"); }