jenkinsci / jenkinsci/workflow-basic-steps-plugin

[JENKINS-58367] cwd set by exws set is replaced by withEnv and withCredentials steps

Offen
#490 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

component:external-workspace-manager-plugin component:workflow-basic-steps-plugin imported-jira-issue priority:major resolution:unresolved
Vorherrschende Sprache
Java
Sterne
73
Forks
129
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi, 

I am experiencing an unexpected change of the current working directory when withEnv or withCredentials steps are used.

dir step is a viable workaround, but I am wondering if there is a more straightforward explanation and solution.

Thank you!

def extWorkspace = exwsAllocate diskPoolId: 'workspace-pool', strategy: fastestWriteSpeed()

stage('init') {
  node('brenode') {
    println pwd() //prints local workspace (${JENKINS_HOME}/workspace/${JOB_NAME})
    exws (extWorkspace) {
      println pwd() //prints external workspace ${physical_path}/${JOB_NAME}/${BUILD_NUMBER}
      withEnv(["1=1"])

{          println pwd() //prints again local workspace!       }

    }
  }
}

 


Originally reported by claudiuavat1, imported from: cwd set by exws set is replaced by withEnv and withCredentials steps
  • assignee: alexsomai
  • status: Open
  • priority: Major
  • component(s): external-workspace-manager-plugin, workflow-basic-steps-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 20251215-220547
Raw content of original issue

Hi, 

I am experiencing an unexpected change of the current working directory when withEnv or withCredentials steps are used.

dir step is a viable workaround, but I am wondering if there is a more straightforward explanation and solution.

Thank you!

def extWorkspace = exwsAllocate diskPoolId: 'workspace-pool', strategy: fastestWriteSpeed()

stage('init') {   node('brenode') {     println pwd() //prints local workspace (${JENKINS_HOME}/workspace/${JOB_NAME})     exws (extWorkspace) {       println pwd() //prints external workspace ${physical_path}/${JOB_NAME}/${BUILD_NUMBER}       withEnv(["1=1"])

{          println pwd() //prints again local workspace!       }

    }   } }

 

environment
JENKINS_VERSION	2.176.1<br/>
external-workspace-manager	1.1.2<br/>
workflow-basic-steps	        2.18

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Pipeline mit exws, withEnv und withCredentials zu reproduzieren, und vergleiche pwd() vor und innerhalb jedes Schritts. Verfolge die beteiligten Einstiegspunkte von external-workspace-manager-plugin und workflow-basic-steps-plugin bei der Verarbeitung des Workspace-Kontexts. Als abgeschlossen gilt die Aufgabe, wenn der externe Workspace das aktuelle Verzeichnis bleibt, während Umgebungsvariablen- oder Credential-Schritte ausgeführt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.