Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
335 commits
Select commit Hold shift + click to select a range
826630c
Simplify assertions
basil Dec 17, 2024
420a390
Simplify negative expression
basil Dec 17, 2024
972af6e
Simplify string expression
basil Dec 17, 2024
0f3662f
Remove redundant casts
basil Dec 17, 2024
ab79086
Simplify stream expressions
basil Dec 17, 2024
40c4a24
Remove unnecessary return
basil Dec 17, 2024
5f53f07
Organize imports
basil Dec 17, 2024
e2ae5e0
Simplify assertion
basil Dec 17, 2024
92c7809
Use Apache Mina as ssh transport layer, remove trilead
jmdesprez Dec 17, 2024
f0f5683
build(deps): bump com.hierynomus:smbj from 0.13.0 to 0.14.0 (#1018)
dependabot[bot] Dec 17, 2024
4d2067f
Remove usages of deprecated constructor in tests (#1023)
basil Dec 17, 2024
f7deaff
NullPointerException prevention
jmdesprez Dec 18, 2024
4549402
Spotbugs fix
jmdesprez Dec 18, 2024
bcb70f1
Remove more usages of deprecated constructors in tests (#1024)
basil Dec 20, 2024
3b52047
Null pointer prevention
jmdesprez Dec 20, 2024
bcfbd7c
Add a timestamp to the SCP
jmdesprez Dec 20, 2024
40112c5
Migrate from Acegi compatibility layer to Spring Security (#1026)
basil Dec 21, 2024
4b7fcc5
Remove Eucalyptus support (#1027)
basil Dec 27, 2024
d1fae8d
Remove `ZpoolMonitor` and `ZPoolExpandNotice`
basil Jan 6, 2025
e8aedb7
Merge pull request #1030 from basil/zfs
res0nance Jan 7, 2025
9822497
Applied recipe MigrateToJenkinsBaseLineProperty
jonesbusy Jan 7, 2025
8225f35
Make remoting.jar readable for everyone
jmdesprez Jan 7, 2025
bda7f3c
Refactor PEMParser to KeyHelper
jmdesprez Jan 7, 2025
471b5d0
Fix ServerKeyVerifier implementation
jmdesprez Jan 7, 2025
630462d
Merge pull request #1031 from jonesbusy-automation/plugin-modernizer-…
res0nance Jan 8, 2025
3bc68a3
JENKINS-75098:Log EC2 errors while calling RunInstances for reserved …
sfc-gh-mmansour Jan 8, 2025
9f45558
Fix hudson-run-init verification
jmdesprez Jan 8, 2025
5263995
Update log message from EC2 RunInstances call to include number of no…
sfc-gh-mmansour Jan 10, 2025
480c37f
Replace try-with-resource by manual close. Use the timeout from the n…
jmdesprez Jan 15, 2025
243088d
Use dedicated client for the remoting jar
jmdesprez Jan 16, 2025
0726489
Merge branch 'master' into JENKINS-75011-apache-mina-ssh
jmdesprez Jan 17, 2025
7680d4e
Use timeout from the node
jmdesprez Jan 20, 2025
fe9a901
Improve code readability
jmdesprez Jan 20, 2025
9abf818
NullPointerException prevention
jmdesprez Jan 20, 2025
9a4fc3b
Extract Corretto URL
jmdesprez Jan 20, 2025
7ceaeea
Add debug log when the command fails
jmdesprez Jan 20, 2025
4e9d26d
Rewrite generatePublicKeyFromPrivateKey
jmdesprez Jan 20, 2025
7b68bae
Fix getSshAlgorithm when Bouncy Castle is used
jmdesprez Jan 21, 2025
abea87f
Move timeout initialization after checking the node
jmdesprez Jan 21, 2025
87175d2
Merge pull request #1022 from jmdesprez/JENKINS-75011-apache-mina-ssh
fcojfernandez Jan 22, 2025
af72912
Merge branch 'master' into JENKINS-74907
jmdesprez Jan 22, 2025
8044460
Format repository with Spotless
jmdesprez Jan 22, 2025
fd76311
Update messages keys according to the properties file
jmdesprez Jan 22, 2025
126a1ef
Implement ensurePublicKeyInFipsMode using mina
jmdesprez Jan 22, 2025
da58504
Remove the RuntimeException catch
jmdesprez Jan 22, 2025
7e34b30
Add FIPS validation of decoded KeyPair
jmdesprez Jan 22, 2025
276ac81
Code cleanup
jmdesprez Jan 22, 2025
8d87877
Enable tests
jmdesprez Jan 22, 2025
8608cdc
Add Windows password length validation
jmdesprez Jan 22, 2025
bac89fb
Add password length validation in the constructor
jmdesprez Jan 29, 2025
93c5a3c
Only validate password when it is in use
jmdesprez Jan 29, 2025
bd6a541
Fix tests and add password length validation
jmdesprez Jan 29, 2025
828850f
[JENKINS-75187] Unable to Connect to Agents (#1041)
jmdesprez Jan 30, 2025
ac3c0fc
Merge branch 'master' into JENKINS-74907
jmdesprez Jan 30, 2025
22bda8f
Code cleanup on tests
jmdesprez Jan 31, 2025
f40220e
Merge pull request #1010 from jmdesprez/JENKINS-74907
fcojfernandez Jan 31, 2025
b443d25
build(deps): bump org.jenkins-ci.plugins.aws-java-sdk:aws-java-sdk-mi…
dependabot[bot] Feb 5, 2025
4da50ec
build(deps): bump org.jenkins-ci.plugins.aws-java-sdk:aws-java-sdk-ec…
dependabot[bot] Feb 5, 2025
eb62bd2
build(deps): bump io.jenkins.tools.bom:bom-2.462.x (#1042)
dependabot[bot] Feb 5, 2025
456a3df
Improve logging
jmdesprez Feb 10, 2025
1b055a3
Simplify remote code
jmdesprez Feb 10, 2025
f9273ac
Update file permissions
jmdesprez Feb 10, 2025
4ede131
Restrict permissions to owner only
jmdesprez Feb 13, 2025
6fc4480
Merge pull request #1046 from jmdesprez/JENKINS-75230
fcojfernandez Feb 14, 2025
1872ce2
Replace custom implementation with the one from Mina
jmdesprez Feb 17, 2025
79de475
Moved the MockEC2Computer class to its own file
jmdesprez Feb 18, 2025
3ed65ec
Add a Helper class to create a custom SshClient per EC2Computer
jmdesprez Feb 18, 2025
6bde925
Require Jenkins 2.479.1 and Jakarta EE (#1050)
basil Feb 28, 2025
73998b6
Merge pull request #1048 from jmdesprez/JENKINS-75214
fcojfernandez Mar 3, 2025
3e5f46e
Remove deprecations and use Java 17 language features (#1044)
strangelookingnerd Mar 7, 2025
c84f8d6
build(deps): bump org.jenkins-ci.plugins:plugin from 5.7 to 5.9 (#1054)
dependabot[bot] Mar 7, 2025
8757931
build(deps-dev): bump org.testcontainers:testcontainers (#1053)
dependabot[bot] Mar 7, 2025
f0bf234
Partial revert of #1044 (#1055)
basil Mar 9, 2025
dcd1156
[BEE-56742] exclude class FIPS non compliant
ampuscas Mar 14, 2025
1e8d890
Update src/main/resources/hudson/plugins/ec2/Messages.properties
ampuscas Mar 14, 2025
77843ab
apply suggestions from review
ampuscas Mar 14, 2025
38e6da8
delete unrelevant tests
ampuscas Mar 17, 2025
76e4e8f
apply spotless
ampuscas Mar 18, 2025
36b5f8e
Update src/main/resources/hudson/plugins/ec2/Messages.properties
ampuscas Mar 18, 2025
9300a92
Update src/main/java/hudson/plugins/ec2/win/WinConnection.java
ampuscas Mar 18, 2025
c14132e
Merge pull request #1059 from ampuscas/exclude-class-FIPS-mode
fcojfernandez Mar 18, 2025
18ae5b3
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Mar 24, 2025
5024e8f
Update baseline to latest point release 2.279.3
res0nance Mar 24, 2025
9e36af5
Merge pull request #1062 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Mar 24, 2025
730b5c2
[JENKINS-73640] Use AWS SDK for Java 2.x (#1021)
basil Mar 28, 2025
14e2b88
Add instance ID to getDecodedConsoleOutputResponse
rdysart Mar 30, 2025
e06a75d
Merge pull request #1063 from rdysart/JENKINS-75491
res0nance Mar 30, 2025
1597151
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Mar 31, 2025
1a04ef5
Merge pull request #1064 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Mar 31, 2025
942df71
Reduce usage of AWS SDK for Java v1 from compatibility layer (#1065)
basil Apr 2, 2025
0d57693
Add support for launching an instance with Nitro Enclave enabled
ashort96 Apr 4, 2025
03c1282
build(deps): bump org.jenkins-ci.plugins:plugin from 5.9 to 5.10 (#1068)
dependabot[bot] Apr 9, 2025
9fd007f
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Apr 14, 2025
b918e55
Merge branch 'master' into feature/add-nitro-enclave-support
ashort96 Apr 14, 2025
7da77b4
Merge pull request #1070 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Apr 15, 2025
38ae0ea
Merge pull request #1066 from ashort96/feature/add-nitro-enclave-support
res0nance Apr 15, 2025
e78400a
add default for enclaveEnabled in readResolve()
res0nance Apr 16, 2025
0298f2e
Merge pull request #1071 from jenkinsci/res0nance-patch-1
res0nance Apr 16, 2025
59c9f89
No Issue: Added error handling and logs for init script execution.
zendesk-abhijeet Apr 15, 2025
5975439
No Issue: Removed unwated files.
zendesk-abhijeet Apr 15, 2025
a4aa4d4
Merge pull request #1073 from zendesk-abhijeet/abhijeet/prevent-launc…
res0nance Apr 20, 2025
36f69b6
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Apr 22, 2025
e2b625a
Merge pull request #1074 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Apr 22, 2025
4a5ae55
Merge pull request #1072 from jenkinsci/dependabot/maven/org.jenkins-…
dependabot[bot] Apr 22, 2025
6b1db91
build(deps): bump org.jenkins-ci.plugins:plugin from 5.11 to 5.12
dependabot[bot] Apr 23, 2025
8401ac6
build(deps-dev): bump org.testcontainers:testcontainers
dependabot[bot] Apr 24, 2025
bc58503
Merge pull request #1079 from jenkinsci/dependabot/maven/org.testcont…
res0nance Apr 25, 2025
373e3c0
Merge pull request #1075 from jenkinsci/dependabot/maven/org.jenkins-…
res0nance Apr 25, 2025
26fc9dd
Merge pull request #1076 from strangelookingnerd/migrate_to_junit5
strangelookingnerd Apr 25, 2025
1e7cf10
[JENKINS-75589] Region is no longer being kept in the UI
basil Apr 25, 2025
ccb5a56
[JENKINS-75589] Region is no longer being kept in the UI (#1078)
res0nance Apr 27, 2025
5b762ac
Add form validation for AWS Nitro Enclaves
basil Apr 27, 2025
ae884da
Show prettier region descriptions
basil Apr 27, 2025
51821cd
Millisecond precision in `EC2RetentionStrategy`
basil May 20, 2025
08bf071
[JENKINS-75687] Fix Computer uptime
Dohbedoh May 22, 2025
54daa2a
Merge pull request #1093 from basil/epochMilli
res0nance May 29, 2025
9daa36b
build(deps-dev): bump org.testcontainers:junit-jupiter
dependabot[bot] May 30, 2025
24a23e4
Merge pull request #1094 from Dohbedoh/JENKINS-75687
res0nance Jun 3, 2025
6f3dd57
Merge pull request #1097 from jenkinsci/dependabot/maven/org.testcont…
res0nance Jun 3, 2025
39c9112
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Jun 3, 2025
a077865
Merge pull request #1099 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Jun 3, 2025
6c24ad5
build(deps): bump org.jenkins-ci.plugins:plugin from 5.12 to 5.17
dependabot[bot] Jun 3, 2025
f8795f3
Merge pull request #1090 from jenkinsci/dependabot/maven/org.jenkins-…
res0nance Jun 3, 2025
749549e
adding toggle to prevent orphaned ex2 instace being tried to reconnect
nevingeorgesunny Jun 6, 2025
a66a2cf
Merge branch 'master' into toggle-for-prevent-reuse-orphaned-ec2
nevingeorgesunny Jun 6, 2025
dcc20c2
formating code
nevingeorgesunny Jun 6, 2025
6e28851
fxing test
nevingeorgesunny Jun 6, 2025
d07b834
fixing casc test
nevingeorgesunny Jun 6, 2025
476cdc8
added casc test
nevingeorgesunny Jun 6, 2025
6f72f0b
added better helper method
nevingeorgesunny Jun 6, 2025
5bad15d
added better helper method
nevingeorgesunny Jun 6, 2025
f931cc7
typo fix
nevingeorgesunny Jun 6, 2025
97cf950
Update src/main/java/hudson/plugins/ec2/SlaveTemplate.java
nevingeorgesunny Jun 9, 2025
5b8350c
adding databoundsetter instead of constructor
nevingeorgesunny Jun 10, 2025
796ba83
fxixing accidental code changse
nevingeorgesunny Jun 10, 2025
b85ff77
fxixing broken test
nevingeorgesunny Jun 10, 2025
9b77210
Merge pull request #1101 from nevingeorgesunny/toggle-for-prevent-reu…
fcojfernandez Jun 11, 2025
b06ce13
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Jun 16, 2025
6f05bfe
Merge pull request #1103 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Jun 17, 2025
504c90c
build(deps): bump org.jenkins-ci.plugins:plugin from 5.17 to 5.18
dependabot[bot] Jun 30, 2025
a849c8b
build(deps-dev): bump org.testcontainers:junit-jupiter
dependabot[bot] Jun 30, 2025
0e462a4
build(deps): bump io.jenkins.tools.bom:bom-2.479.x
dependabot[bot] Jun 30, 2025
d222e1b
[JENKINS-75840] `NullPointerException` in `CloudHelper.getInstanceWit…
basil Jul 1, 2025
261724e
Merge pull request #1109 from basil/JENKINS-75840
res0nance Jul 2, 2025
3eb539a
Merge pull request #1107 from jenkinsci/dependabot/maven/org.testcont…
res0nance Jul 2, 2025
96386f5
Merge pull request #1106 from jenkinsci/dependabot/maven/org.jenkins-…
res0nance Jul 2, 2025
ec801d7
Merge pull request #1108 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Jul 2, 2025
1043f83
build(deps): bump io.jenkins.tools.incrementals:git-changelist-maven-…
dependabot[bot] Jul 4, 2025
8597c3a
Merge pull request #1110 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Jul 6, 2025
72ee2dd
Merge pull request #1056 from rdysart/add-windows-ssh
rdysart Jul 6, 2025
f7e0fac
[JENKINS-75870] Fix issue resolving instance types while checking for…
OlliAtWork Jul 10, 2025
300b4b0
adding base code
nevingeorgesunny Jul 13, 2025
3ea315a
updating tag
nevingeorgesunny Jul 14, 2025
44c99a6
mergin mster
nevingeorgesunny Jul 14, 2025
df19be2
adding unit test
nevingeorgesunny Jul 16, 2025
6d0ccca
adding unit test
nevingeorgesunny Jul 16, 2025
df23591
adding better logs
nevingeorgesunny Jul 17, 2025
1db24dd
adding togger for cloud orphan clean up
nevingeorgesunny Jul 17, 2025
33f6300
adding better comments in test
nevingeorgesunny Jul 17, 2025
16f4dd0
fixiong broken test
nevingeorgesunny Jul 17, 2025
5a7ce5f
optimising code
nevingeorgesunny Jul 17, 2025
19a091e
optimising code
nevingeorgesunny Jul 17, 2025
b39fb26
spotless apply
nevingeorgesunny Jul 17, 2025
9087602
PR comments
nevingeorgesunny Jul 18, 2025
beca4f0
fixing the pagaination issues
nevingeorgesunny Jul 21, 2025
58bc2a3
adding assertion for non terminated intastance
nevingeorgesunny Jul 21, 2025
c77dc63
adding license header
nevingeorgesunny Jul 21, 2025
4ed8c2f
pr comments changes
nevingeorgesunny Jul 22, 2025
6f0bc88
using better login to find expiry
nevingeorgesunny Jul 22, 2025
83fec39
spotless
nevingeorgesunny Jul 22, 2025
4f9f6d9
empty commit to re trigger build
nevingeorgesunny Jul 22, 2025
4aa04b8
Use path with forward slashes for scp commands (#1118)
rdysart Jul 22, 2025
91846aa
optimising code
nevingeorgesunny Jul 22, 2025
9224bed
optimising code
nevingeorgesunny Jul 22, 2025
83ed479
Merge branch 'master' into orphan-node-cleanup
nevingeorgesunny Jul 23, 2025
dbf2eb6
empty commit to re trigger build
nevingeorgesunny Jul 23, 2025
90f8425
spotless
nevingeorgesunny Jul 23, 2025
eaeca29
empty commit to re trigger build
nevingeorgesunny Jul 23, 2025
faeea72
pr comments
nevingeorgesunny Jul 24, 2025
3275b97
adding comments to explaing the date compare
nevingeorgesunny Jul 24, 2025
44b6cfe
empty commit to re trigger build
nevingeorgesunny Jul 24, 2025
aceb100
spotless
nevingeorgesunny Jul 24, 2025
bd72c2a
optimising test code
nevingeorgesunny Jul 24, 2025
d5c4f40
Merge pull request #1115 from nevingeorgesunny/orphan-node-cleanup
fcojfernandez Jul 25, 2025
cbdbc7d
Remove empty package `hudson.plugins.ec2.ebs` (#1116)
Vlatombe Jul 29, 2025
e8797a0
build(deps): bump io.jenkins.tools.bom:bom-2.479.x (#1117)
dependabot[bot] Jul 30, 2025
20a803f
Pick fresh credentials: Replaced call to deprecated method with a pro…
zendesk-abhijeet Jul 30, 2025
ee215e7
using tag to pick only the required instances for cleanup
nevingeorgesunny Jul 31, 2025
e656791
spotless
nevingeorgesunny Jul 31, 2025
1af29d2
adding help
nevingeorgesunny Jul 31, 2025
3d221c3
updating comments
nevingeorgesunny Jul 31, 2025
504903f
updating comments
nevingeorgesunny Jul 31, 2025
01c46e5
adding null check for server url
nevingeorgesunny Jul 31, 2025
b9c216c
updating comments
nevingeorgesunny Jul 31, 2025
1a34560
formating code
nevingeorgesunny Jul 31, 2025
0dc13a3
adding java docs
nevingeorgesunny Jul 31, 2025
9f88ebb
`SshHostKeyVerificationStrategyTest` fails
jglick Jul 31, 2025
fb13bc9
Call `MinimumInstanceChecker` when an agent is bound
jglick Jul 30, 2025
7cf2d09
Discard spare instances during shutdown
jglick Jul 30, 2025
d78dfa9
Fail `getEC2HostAddress` for a terminated instance
jglick Jul 30, 2025
c879884
Mock failures for 8038f5d0a4feceb4882a1e920ad76e0b92e5d41f
jglick Jul 31, 2025
e4ac68f
Introduce `terminateSpareInstances` option https://github.com/jenkins…
jglick Aug 1, 2025
ac39c61
Removing `TestFactoryExtensionFilter` in favor of `lookupFirst` (#1128)
jglick Aug 2, 2025
48fcfba
Simplification to `SSHCredentialHelper` (#1127)
jglick Aug 2, 2025
22c3366
Merge pull request #1126 from jglick/getEC2HostAddress
res0nance Aug 2, 2025
2fc04a6
Merge pull request #1081 from basil/region-description
res0nance Aug 2, 2025
250f0ef
Merge pull request #1080 from basil/validation
res0nance Aug 2, 2025
246d45d
Merge branch 'master' into fixing-JENKINS-75942
nevingeorgesunny Aug 4, 2025
f41ca8a
`terminateSpareInstances` → `terminateIdleDuringShutdown`
jglick Aug 4, 2025
c605615
Merge branch 'master' into replenish
jglick Aug 4, 2025
c156216
build(deps): bump org.jenkins-ci.plugins:plugin from 5.18 to 5.19
dependabot[bot] Aug 11, 2025
f82d94c
Merge pull request #1123 from jglick/SshHostKeyVerificationStrategyTest
fcojfernandez Aug 12, 2025
9053121
Merge pull request #1122 from nevingeorgesunny/fixing-JENKINS-75942
fcojfernandez Aug 12, 2025
19fd644
Merge pull request #1129 from jenkinsci/dependabot/maven/org.jenkins-…
res0nance Aug 12, 2025
94a4ed1
Merge pull request #1124 from jglick/replenish
res0nance Aug 12, 2025
b56e6f0
build(deps): bump org.jenkins-ci.plugins:plugin from 5.19 to 5.24 (#1…
dependabot[bot] Aug 22, 2025
1407740
[JENKINS-76021] Fix non proxy hosts support (#1134)
Dohbedoh Aug 22, 2025
c13c882
Merge pull request #1125 from jglick/shutdown
fcojfernandez Aug 26, 2025
e1b1fce
Removed associatePublicIp check for building the network interface ob…
vwagh-dev Aug 28, 2025
b4c2f17
spotless fix
vwagh-dev Sep 2, 2025
d60feba
Merge pull request #1138 from vwagh-dev/JENKINS-75002
vwagh-dev Sep 2, 2025
7c9cc4e
[JENKINS-76058] Add verifier test including OpenSSH Certificate
Dohbedoh Sep 4, 2025
f486f9e
[JENKINS-76058] Fix OpenSSH Certificate Hostkey handling + Improve ve…
Dohbedoh Sep 4, 2025
d3dfff0
[JENKINS-76058] Fix documentation
Dohbedoh Sep 4, 2025
1ae9cf0
[JENKINS-76058] Use Locale.ROOT
Dohbedoh Sep 4, 2025
b903597
[JENKINS-76058] Add warning if cannot compute fingerprint
Dohbedoh Sep 4, 2025
19e816a
Revert "[JENKINS-75002] Removed associatePublicIp check for building …
vwagh-dev Sep 8, 2025
c220e95
Merge pull request #1143 from jenkinsci/revert-1138-JENKINS-75002
vwagh-dev Sep 8, 2025
50458f4
Merge pull request #1141 from Dohbedoh/JENKINS-76058
vwagh-dev Sep 8, 2025
5a36214
build(deps): bump io.jenkins.tools.incrementals:git-changelist-maven-…
dependabot[bot] Sep 9, 2025
a511c31
Merge pull request #1144 from jenkinsci/dependabot/maven/io.jenkins.t…
res0nance Sep 16, 2025
92a4be7
[JENKINS-76083] Fix tests for SSH Verifiers + fix regression (#1146)
Dohbedoh Sep 16, 2025
804c487
Migrate tests to JUnit5 (#1131)
strangelookingnerd Sep 16, 2025
0a11fb7
reconnect when agent is offline (#1142)
car-roll Sep 17, 2025
95ca008
[JENKINS-76171] fix overprovisioning of ec2 agents when rapidly sched…
mikecirioli Oct 10, 2025
b105adb
Deprecate boolean `associatePublicIp` and add `AssociateIpStrategy` e…
apuig Oct 10, 2025
08aa71e
Ban JUnit 4 imports (#1147)
strangelookingnerd Oct 11, 2025
8120395
fix(JENKINS-76057): Fix EC2 plugin "Configure" UI - users cannot vie…
stevenbaker Oct 11, 2025
829e627
[JENKINS-76151] - Fix EC2 Continuous attempts to connect to stopped i…
jgarciacloudbees Oct 11, 2025
dcd7c29
Fix associatePublicIp backward compatible.
apuig Oct 14, 2025
9f7d8af
Merge pull request #1153 from apuig/JENKINS-75002-associate-ip-strate…
apuig Oct 15, 2025
89d6f19
[JENKINS-76200] - Fix Stopped agents not stating on v2039 (#1155)
jgarciacloudbees Oct 30, 2025
483cc28
Test with Java 25 (#1156)
MarkEWaite Oct 30, 2025
c0d17bb
Ignore Spotless reformatting for blame (#1157)
jglick Dec 15, 2025
06dadaa
fix WinRM thread leak (#1987)
apuig Dec 16, 2025
44286f6
Explicitly declare dependencies (#1991)
MarkEWaite Jan 16, 2026
9c48b88
Add new instance types to InstanceTypeCompat (#1139)
sfc-gh-nthirumoorthy Mar 14, 2026
e419bc6
Ludicrous Mode: Lightweight queuing of work (#2000)
samrocketman Apr 4, 2026
127f0f1
fix cachedSlaveTemplates being null (#2003)
res0nance Apr 6, 2026
172a79e
Adapt build status icon for ci.jenkins.io permissions change (#2006)
MarkEWaite Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# https://github.com/jenkinsci/ec2-plugin/pull/1011 Spotless
98fc9a96b65375210d2dd3f9285d924d91582f3f
2 changes: 1 addition & 1 deletion .mvn/extensions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
<extension>
<groupId>io.jenkins.tools.incrementals</groupId>
<artifactId>git-changelist-maven-extension</artifactId>
<version>1.8</version>
<version>1.13</version>
</extension>
</extensions>
3 changes: 1 addition & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
buildPlugin(useContainerAgent: true, configurations: [
[platform: 'linux', jdk: '17'],
[ platform: 'linux', jdk: '21' ],
[ platform: 'linux', jdk: 25 ]
])
59 changes: 36 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# ec2-plugin
[![Jenkins](https://ci.jenkins.io/job/Plugins/job/ec2-plugin/job/master/badge/icon)](https://ci.jenkins.io/job/Plugins/job/ec2-plugin/job/master/)

[![Jenkins](https://ci.jenkins.io/buildStatus/icon?job=Plugins%2Fec2-plugin%2Fmaster)](https://ci.jenkins.io/job/Plugins/job/ec2-plugin/job/master/)
[![Jenkins Plugin](https://img.shields.io/jenkins/plugin/v/ec2.svg)](https://plugins.jenkins.io/ec2)
[![GitHub release](https://img.shields.io/github/release/jenkinsci/ec2-plugin.svg?label=changelog)](https://github.com/jenkinsci/ec2-plugin/releases/latest)
[![Gitter](https://badges.gitter.im/ec2-plugin/Lobby.svg)](https://gitter.im/ec2-plugin/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Expand Down Expand Up @@ -33,8 +34,7 @@
# Introduction

Allow Jenkins to start agents on
[EC2](http://aws.amazon.com/ec2/) or
[Eucalyptus](https://www.eucalyptus.cloud/) on demand, and
[EC2](http://aws.amazon.com/ec2/) on demand, and
kill them as they get unused.

With this plugin, if Jenkins notices that your build cluster is
Expand All @@ -52,14 +52,25 @@ the main "Manage Jenkins" \> "Configure System" page, and scroll down
near the bottom to the "Cloud" section. There, you click the "Add a new
cloud" button, and select the "Amazon EC2" option. This will display the
UI for configuring the EC2 plugin.  Then enter the Access Key and Secret
Access Key which act like a username/password (see IAM section). Because
of the way EC2 works, you also need to have an RSA private key that the
Access Key which act like a username/password (see IAM section).

Because of the way EC2 works, you also need to have an RSA private key that the
cloud has the other half for, to permit sshing into the instances that
are started. Please use the AWS console or any other tool of your choice
to generate the private key to interactively log in to EC2 instances.
to generate the private key to interactively log in to EC2 instances.

Once you have generated the needed private key you must either store it as
a Jenkins `SSH Private Key` credential (and select that credential in your cloud
config).

If you do not want to create a new Jenkins credential you may alterantively store it
in plain text on disk, indicating its file path via the Jenkins system property
`hudson.plugins.ec2.EC2Cloud.sshPrivateKeyFilePath`. If this system property has a non-empty value then
it will override the ssh credential specified in the cloud configuration page. This
approach works well for `k8s` secrets that are mounted in a jenkins container for example.

Once you have put in your Access Key and Secret Access Key, select a
region for the cloud (not shown in screenshot). You may define only one
Once you have put in your Access Key, Secret Access Key, and configured an ssh private key
select a region for the cloud (not shown in screenshot). You may define only one
cloud for each region, and the regions offered in the UI will show only
the regions that you don't already have clouds defined for them.

Expand Down Expand Up @@ -283,12 +294,12 @@ console](https://wiki.jenkins.io/display/JENKINS/Jenkins+Script+Console),
example:

```groovy
import com.amazonaws.services.ec2.model.InstanceType
import software.amazon.awssdk.services.ec2.model.InstanceType
import com.cloudbees.jenkins.plugins.awscredentials.AWSCredentialsImpl
import com.cloudbees.plugins.credentials.*
import com.cloudbees.plugins.credentials.domains.Domain
import hudson.model.*
import hudson.plugins.ec2.AmazonEC2Cloud
import hudson.plugins.ec2.EC2Cloud
import hudson.plugins.ec2.AMITypeData
import hudson.plugins.ec2.EC2Tag
import hudson.plugins.ec2.SlaveTemplate
Expand All @@ -305,7 +316,7 @@ def sshPortToConnectWith = '22'
// store parameters
def slaveTemplateUsEast1Parameters = [
ami: 'ami-AAAAAAAA',
associatePublicIp: false,
associateIpStrategy: AssociateIpStrategy.valueOf('PRIVATE_IP'),
spotConfig: null,
connectBySSHProcess: false,
connectUsingPublicIp: false,
Expand Down Expand Up @@ -340,6 +351,7 @@ def slaveTemplateUsEast1Parameters = [
metadataEndpointEnabled: true,
metadataTokensRequired: true, // `true` enforces IMDSv2 only (over IMDSv1), an important AWS security best practice
metadataHopsLimit: 1,
enclaveEnabled: true, // launches the instance with Nitro Enclave enabled
minimumNumberOfInstances: 0,
minimumNumberOfSpareInstances: 0,
maxTotalUses: -1,
Expand All @@ -352,7 +364,7 @@ def slaveTemplateUsEast1Parameters = [
nodeProperties: null
]

def AmazonEC2CloudParameters = [
def EC2CloudParameters = [
name: 'MyCompany',
credentialsId: 'jenkins-aws-key',
instanceCapStr: '2',
Expand Down Expand Up @@ -434,7 +446,7 @@ SlaveTemplate slaveTemplateUsEast1 = new SlaveTemplate(
slaveTemplateUsEast1Parameters.deleteRootOnTermination,
slaveTemplateUsEast1Parameters.useEphemeralDevices,
slaveTemplateUsEast1Parameters.launchTimeoutStr,
slaveTemplateUsEast1Parameters.associatePublicIp,
slaveTemplateUsEast1Parameters.associateIpStrategy,
slaveTemplateUsEast1Parameters.customDeviceMapping,
slaveTemplateUsEast1Parameters.connectBySSHProcess,
slaveTemplateUsEast1Parameters.monitoring,
Expand All @@ -449,16 +461,17 @@ SlaveTemplate slaveTemplateUsEast1 = new SlaveTemplate(
slaveTemplateUsEast1Parameters.metadataEndpointEnabled,
slaveTemplateUsEast1Parameters.metadataTokensRequired,
slaveTemplateUsEast1Parameters.metadataHopsLimit,
slaveTemplateUsEast1Parameters.enclaveEnabled,
)

// https://javadoc.jenkins.io/plugin/ec2/index.html?hudson/plugins/ec2/AmazonEC2Cloud.html
AmazonEC2Cloud amazonEC2Cloud = new AmazonEC2Cloud(
AmazonEC2CloudParameters.name,
AmazonEC2CloudParameters.useInstanceProfileForCredentials,
AmazonEC2CloudParameters.credentialsId,
AmazonEC2CloudParameters.region,
AmazonEC2CloudParameters.privateKey,
AmazonEC2CloudParameters.instanceCapStr,
// https://javadoc.jenkins.io/plugin/ec2/hudson/plugins/ec2/EC2Cloud.html
EC2Cloud ec2Cloud = new EC2Cloud(
EC2CloudParameters.name,
EC2CloudParameters.useInstanceProfileForCredentials,
EC2CloudParameters.credentialsId,
EC2CloudParameters.region,
EC2CloudParameters.privateKey,
EC2CloudParameters.instanceCapStr,
[slaveTemplateUsEast1],
'',
''
Expand All @@ -477,7 +490,7 @@ def store = jenkins.getExtensionList('com.cloudbees.plugins.credentials.SystemCr
store.addCredentials(domain, aWSCredentialsImpl)

// add cloud configuration to Jenkins
jenkins.clouds.add(amazonEC2Cloud)
jenkins.clouds.add(ec2Cloud)

// save current Jenkins state to disk
jenkins.save()
Expand All @@ -493,7 +506,7 @@ Example:
```java
// Assuming on the Jenkins instance, there exists an EC2Cloud with the name "AwsCloud"

AmazonEC2Cloud cloud = (AmazonEC2Cloud) Jenkins.get().clouds.stream().filter(cloud1 -> Objects.equals(cloud.getDisplayName(), "AwsCloud")).findFirst().get();
EC2Cloud cloud = (EC2Cloud) Jenkins.get().clouds.stream().filter(cloud1 -> Objects.equals(cloud.getDisplayName(), "AwsCloud")).findFirst().get();

SlaveTemplate template = new SlaveTemplate(/*constructor*/); // View available constructors at https://github.com/jenkinsci/ec2-plugin/blob/master/src/main/java/hudson/plugins/ec2/SlaveTemplate.java

Expand Down
Loading