forked from pool/openjdk-21-devel-image
Compare commits
44 Commits
9e7fab6c00
...
factory
Author | SHA256 | Date | |
---|---|---|---|
48201197e8 | |||
042f94f661 | |||
d128c5e210 | |||
4b715ba2ae | |||
c992e47b20 | |||
8de030947b | |||
b4ad2ac7c3 | |||
5b7259020d | |||
3a8bcecd3b | |||
05da9903d3 | |||
7e2427b0be | |||
9011274ba5 | |||
d695516b26 | |||
08ac92c0d4 | |||
879be7744c | |||
e23ee860c7 | |||
2d97efdb87 | |||
2c38682063 | |||
39754268b5 | |||
f87dfcb55d | |||
6a53c09ee9 | |||
47627e19fe | |||
3d07e753ab | |||
3f60a9d88a | |||
3cf8235662 | |||
f87172df53 | |||
f8f189a9ee | |||
e7a5e2df87 | |||
3ae91ac8dd | |||
faf015c46c | |||
1994672c63 | |||
0798232d11 | |||
eb72fc0135 | |||
72eb138320 | |||
13c69cff90 | |||
4312aa425c | |||
f74fdb3168 | |||
bec2b43d7e | |||
3c5290d9f5 | |||
31e885b2e1 | |||
2aca117b3b | |||
b00a183ef9 | |||
a41603a516 | |||
28c4580fb9 |
21
Dockerfile
21
Dockerfile
@@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -13,35 +13,38 @@
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
|
||||
|
||||
#!UseOBSRepositories
|
||||
#!ExclusiveArch: aarch64 x86_64 ppc64le s390x
|
||||
#!BuildTag: opensuse/bci/openjdk-devel:%%java_version%%-%RELEASE%
|
||||
#!BuildTag: opensuse/bci/openjdk-devel:%%java_version%%
|
||||
#!BuildTag: opensuse/bci/openjdk-devel:21
|
||||
#!BuildTag: opensuse/bci/openjdk-devel:21-%RELEASE%
|
||||
|
||||
FROM opensuse/bci/openjdk:21
|
||||
|
||||
MAINTAINER openSUSE (https://www.opensuse.org/)
|
||||
RUN set -euo pipefail; \
|
||||
zypper -n install --no-recommends java-21-openjdk-devel maven; \
|
||||
zypper -n clean; \
|
||||
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
||||
|
||||
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||
# labelprefix=org.opensuse.bci.openjdk.devel
|
||||
LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI OpenJDK 21 development"
|
||||
LABEL org.opencontainers.image.description="OpenJDK 21 development container based on the openSUSE Tumbleweed Base Container Image."
|
||||
LABEL org.opencontainers.image.version="21"
|
||||
LABEL org.opencontainers.image.version="%%java_version%%"
|
||||
LABEL org.opencontainers.image.url="https://www.opensuse.org"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="openSUSE Project"
|
||||
LABEL org.opencontainers.image.source="%SOURCEURL%"
|
||||
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/openjdk-devel:21-%RELEASE%"
|
||||
LABEL org.opencontainers.image.ref.name="%%java_version%%-%RELEASE%"
|
||||
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/openjdk-devel:%%java_version%%-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime"
|
||||
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
|
||||
LABEL org.opensuse.release-stage="released"
|
||||
# endlabelprefix
|
||||
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/openjdk-21-devel-image/README.md"
|
||||
|
||||
RUN set -euo pipefail; zypper -n in --no-recommends java-21-openjdk-devel git-core maven; zypper -n clean; rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
||||
ENV JAVA_BINDIR="/usr/lib64/jvm/java-21-openjdk-21/bin"
|
||||
ENV JAVA_HOME="/usr/lib64/jvm/java-21-openjdk-21"
|
||||
ENV JAVA_ROOT="/usr/lib64/jvm/java-21-openjdk-21"
|
||||
ENV JAVA_VERSION="21"
|
||||
|
||||
CMD ["/usr/bin/jshell"]
|
||||
RUN set -euo pipefail; [ -d $JAVA_HOME ]; [ -d $JAVA_BINDIR ]; [ -f "$JAVA_BINDIR/java" ] && [ -x "$JAVA_BINDIR/java" ]
|
||||
|
52
README.md
52
README.md
@@ -1,7 +1,55 @@
|
||||
# The openSUSE Tumbleweed BCI OpenJDK 21 development container image
|
||||
# OpenJDK 21 development container image
|
||||
|
||||

|
||||
|
||||
OpenJDK 21 development container based on the openSUSE Tumbleweed Base Container Image.
|
||||
## Description
|
||||
|
||||
[OpenJDK](https://openjdk.org/) (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE). OpenJDK is the official reference implementation of Java SE since version 7.
|
||||
|
||||
The OpenJDK development image is intended to be used as a build environment. For runtime, use the OpenJDK runtime image.
|
||||
|
||||
## Usage
|
||||
|
||||
To compile and deploy an application, copy the sources and build the binary:
|
||||
|
||||
```Dockerfile
|
||||
# Build the application using the OpenJDK development image
|
||||
FROM registry.opensuse.org/opensuse/bci/openjdk-devel:21 as build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . ./
|
||||
|
||||
RUN javac Hello.java
|
||||
|
||||
# Bundle the application into OpenJDK runtime image
|
||||
FROM registry.opensuse.org/opensuse/bci/openjdk:21
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=build /app/Hello.class /app
|
||||
|
||||
CMD ["java", "Hello"]
|
||||
```
|
||||
|
||||
Build and run the container image:
|
||||
|
||||
```ShellSession
|
||||
$ podman build -t my-java-app .
|
||||
$ podman run -it --rm my-java-app
|
||||
```
|
||||
|
||||
There are situations, where you don't want to run an application inside a container.
|
||||
|
||||
To compile the application, without running it inside a container instance, use the following command:
|
||||
|
||||
```ShellSession
|
||||
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/openjdk-devel:21 javac Hello.java
|
||||
```
|
||||
|
||||
## Additional tools
|
||||
|
||||
The OpenJDK 21 development image includes [Git](https://git-scm.com/) and [Apache Maven](https://maven.apache.org/). [Apache Ant](https://ant.apache.org/) is available in the repositories.
|
||||
|
||||
## Licensing
|
||||
|
||||
|
5
_service
5
_service
@@ -1,4 +1,9 @@
|
||||
<services>
|
||||
<service mode="buildtime" name="docker_label_helper"/>
|
||||
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||
<service mode="buildtime" name="replace_using_package_version">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="regex">%%java_version%%</param>
|
||||
<param name="package">java-21-openjdk-devel</param>
|
||||
</service>
|
||||
</services>
|
@@ -1,3 +1,108 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 1 14:29:37 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- remove jshell as default command
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 1 14:13:48 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- update copyright year
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 3 13:26:37 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- Change attribute order in _service
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 30 15:34:45 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- remove nonsensical org.opencontainers.image.authors - duplication of .vendor
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 29 15:23:20 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- drop tag_version-%RELEASE%
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 14 11:26:26 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- make the version-%release tag the first one listed; remove duplicates where they existed; update image.ref/reference to point to the version-%release(-) tag
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 11 15:12:52 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- make the tag with -%RELEASE% the first tag listed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 28 08:15:08 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- fix registry references in READMEs
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 17:36:16 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- rerender installation step in multiple lines, allow uninstalling optional packages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 17:12:11 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- improved log cleaning
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 20 11:49:56 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set full version on oci labels
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 12 10:37:22 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set useobsrepositories explicitly
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 14 12:30:32 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- install packages first
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 8 19:28:10 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- add oci.image.ref.name
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 8 16:43:43 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- remove oci reference annotation again
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 11:38:13 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- add OCI reference annotation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 3 08:56:51 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set OCI.authors attribute instead of deprecated MAINTAINER
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 31 12:06:44 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set specific lifecycle url for openSUSE BCI
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 16 10:31:08 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- Move devtools into openjdk base image
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 11 08:17:40 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
|
||||
|
||||
- extend README.md
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 28 06:52:02 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- add standard devel tools back to development containers
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 18 17:24:16 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
|
Reference in New Issue
Block a user