Skip to content

Commit 6a7ea48

Browse files
committed
Checking that environment is the one we expect inside container() step
1 parent de0cff4 commit 6a7ea48

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,12 @@
203203
<artifactId>junit</artifactId>
204204
<scope>test</scope>
205205
</dependency>
206+
<dependency>
207+
<groupId>org.jenkins-ci.plugins</groupId>
208+
<artifactId>pipeline-maven</artifactId>
209+
<version>1362.vee39a_d4b_02b_1</version>
210+
<scope>test</scope>
211+
</dependency>
206212
<dependency>
207213
<groupId>org.jenkins-ci.plugins</groupId>
208214
<artifactId>scm-api</artifactId>

src/test/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/ContainerExecDecoratorPipelineTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,15 @@ public void envVarDollarSignEscaping() throws Exception {
115115
r.assertLogContains("outside container: $string$with$dollars", b);
116116
r.assertLogContains("inside container: $string$with$dollars", b);
117117
}
118+
119+
@Test
120+
public void containerEnvironmentIsHonored() throws Exception {
121+
assertNotNull(createJobThenScheduleRun());
122+
r.waitForCompletion(b);
123+
r.assertLogContains(
124+
"from Groovy: /opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", b);
125+
r.assertLogContains("inside container: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", b);
126+
r.assertLogContains(
127+
"inside withMaven in container: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", b);
128+
}
118129
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
podTemplate(yaml: '''
2+
spec:
3+
containers:
4+
- name: jnlp
5+
image: jenkins/inbound-agent:3192.v713e3b_039fb_e-1
6+
# PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
7+
- name: alpine
8+
image: alpine:3.19.0
9+
# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
10+
command:
11+
- sleep
12+
args:
13+
- infinity
14+
''') {
15+
node(POD_LABEL) {
16+
echo "from Groovy: ${env.PATH}"
17+
sh 'echo "outside container: $PATH"'
18+
container('alpine') {
19+
sh 'echo "inside container: $PATH"'
20+
withMaven(publisherStrategy: 'EXPLICIT', traceability: false) {
21+
sh 'echo "inside withMaven in container: $PATH"'
22+
}
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)