You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spring-boot/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-t...
Andy Wilkinson fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
3 years ago
..
spring-boot-launch-script-tests-app Upgrade to Spring Framework 6 and Jakarta EE 9 3 years ago
src/intTest Adjust fat jar central directory to account for launch script 3 years ago
README.adoc Review instructions for running launch script tests with Gradle 4 years ago
build.gradle Merge branch '2.4.x' into 2.5.x 3 years ago

README.adoc

= Spring Boot Launch Script Tests

This module contains integration tests for the default launch script that is used
to make a jar file fully executable on Linux. The tests use Docker to verify the
functionality in a variety of Linux distributions.



== Setting up Docker

The setup that's required varies depending on your operating system.



=== Docker on OS X

Install Docker for Mac. See the https://docs.docker.com/docker-for-mac/install/[macOS
installation instructions] for details.



=== Docker on Linux

Install Docker as appropriate for your Linux distribution. See the
https://docs.docker.com/engine/installation/[Linux installation instructions] for more
information.

Next, add your user to the `docker` group. For example:

----
$ sudo usermod -a -G docker awilkinson
----

You may need to log out and back in again for this change to take effect and for your
user to be able to connect to the daemon.



== Running the tests

NOTE: You need Java 8 to run the integration tests as they are currently skipped for Java
9 and later.

You're now ready to run the tests. Assuming that you're in the same directory as this
README, the tests can be launched as follows:

----
$ gradle intTest
----

The first time the tests are run, Docker will create the container images that are used to
run the tests. This can take several minutes, particularly if you have a slow network
connection. Subsequent runs will be faster as the images are cached locally. You can run
`docker images` to see a list of the cached images. Images created by these tests will be
tagged with `spring-boot-it` prefix to easily distinguish them.



== Cleaning up

If you want to reclaim the disk space used by the cached images (at the expense of having
to wait for them to be downloaded and rebuilt the next time you run the tests), you can
use `docker images` to list the images and `docker rmi <image>` to delete them (look for
`spring-boot-it` tag). See `docker rmi --help` for further details.