diff options
author | Jim Hahn <jrh3@att.com> | 2020-01-13 16:36:38 -0500 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-01-14 17:29:56 -0500 |
commit | 0fe2333d835dfd768f62fc08923e23410c786a65 (patch) | |
tree | 414485d4c6d012899177fab5e339ef5a3af0ddac /policy-common | |
parent | 9ead4944806ec064e14fc286b919178af8e12816 (diff) |
Update docker images for java 11
Added debian-slim images based off of jre-slim.
Removed alpine images from the build.
If it's determined that we need a jdk instead of a jre, then
"jre" can be changed to "jdk" in the policy-base Dockerfile.
As an alternative, a new policy-docker-jdk image could be created,
based off of "jdk" and all of the apt packages added to it. In that
case, it would probably be appropriate to removed maven from the
packages that are loaded into the policy-common image.
Addressed first round of review comments:
- use specific version of java 11
- removed docker-maven-plugin version
- replaced the images with policy-jre-debian and policy-jdk-debian
- added a policy-jdk-alpine image, which includes the jdk & maven, but
is significantly smaller than the debian-slim version
- added a policy-jre-alpine image
Addressed additional review comments:
- removed BUILD_VERSION
- installed maven packages instead of downloading via curl
- added link to /usr/lib/jvm
Issue-ID: POLICY-1586
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I43fd6a5c5ff9c4a0b537d3f297fdf2ad8248ba75
Diffstat (limited to 'policy-common')
-rw-r--r-- | policy-common/alpine/README.md | 2 | ||||
-rw-r--r-- | policy-common/alpine/pom.xml | 154 | ||||
-rw-r--r-- | policy-common/alpine/src/main/docker/Dockerfile | 48 | ||||
-rw-r--r-- | policy-common/pom.xml | 53 |
4 files changed, 0 insertions, 257 deletions
diff --git a/policy-common/alpine/README.md b/policy-common/alpine/README.md deleted file mode 100644 index 1ac70df5..00000000 --- a/policy-common/alpine/README.md +++ /dev/null @@ -1,2 +0,0 @@ -The common image for Policy project images. -Contains common set of packages used in most Policy apps containers. diff --git a/policy-common/alpine/pom.xml b/policy-common/alpine/pom.xml deleted file mode 100644 index b36221c4..00000000 --- a/policy-common/alpine/pom.xml +++ /dev/null @@ -1,154 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - Copyright (C) 2019 Ericsson, Tieto. All rights reserved. - ================================================================================ - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - SPDX-License-Identifier: Apache-2.0 - ============LICENSE_END========================================================= ---> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onap.policy.docker</groupId> - <artifactId>policy-common</artifactId> - <version>2.0.0-SNAPSHOT</version> - </parent> - - <packaging>pom</packaging> - <artifactId>policy-common-alpine</artifactId> - <name>Policy alpine common docker image</name> - <description>Policy alpine common docker image</description> - - <build> - <finalName>${project.artifactId}-${project.version}</finalName> - <plugins> - <plugin> - <groupId>org.codehaus.groovy.maven</groupId> - <artifactId>gmaven-plugin</artifactId> - <version>1.0</version> - <executions> - <execution> - <phase>pre-clean</phase> - <goals> - <goal>execute</goal> - </goals> - <configuration> - <source> - println 'Project version: ' + project.properties['dist.project.version']; - def versionArray; - if ( project.properties['dist.project.version'] != null ) { - versionArray = project.properties['dist.project.version'].split('-'); - } - - if ( project.properties['dist.project.version'].endsWith("-SNAPSHOT") ) { - project.properties['project.docker.latesttag.version']=versionArray[0] + "-SNAPSHOT-latest"; - } else { - project.properties['project.docker.latesttag.version']=versionArray[0] + "-STAGING-latest"; - } - - println 'New tag for docker: ' + project.properties['project.docker.latesttag.version']; - if ( "aarch64".equals(System.properties['os.arch']) ) { - project.properties['project.docker.arch'] = "arm64"; - } else { - project.properties['project.docker.arch'] = System.properties['os.arch']; - } - println 'Using arch for docker: ' + project.properties['project.docker.arch']; - </source> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>io.fabric8</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>0.28.0</version> - - <configuration> - <verbose>true</verbose> - <apiVersion>1.23</apiVersion> - <pullRegistry>${docker.pull.registry}</pullRegistry> - <pushRegistry>${docker.push.registry}</pushRegistry> - <images> - <image> - <name>onap/policy-common-alpine:latest-${project.docker.arch}</name> - <build> - <cleanup>try</cleanup> - <dockerFile>Dockerfile</dockerFile> - <tags> - <tag>${project.version}-${project.docker.arch}</tag> - <tag>${project.docker.latesttag.version}-${project.docker.arch}</tag> - </tags> - <args> - <BUILD_VERSION>${docker.build.version}</BUILD_VERSION> - </args> - </build> - </image> - </images> - </configuration> - - <executions> - <execution> - <id>clean-images</id> - <phase>pre-clean</phase> - <goals> - <goal>remove</goal> - </goals> - <configuration> - <removeAll>true</removeAll> - </configuration> - </execution> - - <execution> - <id>generate-images</id> - <phase>generate-sources</phase> - <goals> - <goal>build</goal> - </goals> - </execution> - - <execution> - <id>push-images</id> - <phase>deploy</phase> - <goals> - <goal>build</goal> - <goal>push</goal> - </goals> - <configuration> - <image>onap/policy-common-alpine</image> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-deploy-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-install-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - </plugins> - </build> -</project> - diff --git a/policy-common/alpine/src/main/docker/Dockerfile b/policy-common/alpine/src/main/docker/Dockerfile deleted file mode 100644 index ba8d2d17..00000000 --- a/policy-common/alpine/src/main/docker/Dockerfile +++ /dev/null @@ -1,48 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Tieto. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -# -# Docker file to build an image that contains common packages for Policy components -# -FROM onap/policy-base-alpine:latest-${project.docker.arch} - -LABEL maintainer="Policy Team" - -ARG BUILD_VERSION=${BUILD_VERSION} - -ENV BUILD_VERSION ${BUILD_VERSION} -ENV POLICY_HOME=/opt/app/policy - -# Install common packages used in 6 out of 7 images -RUN apk add --no-cache \ - busybox-extras \ - httpie \ - jq \ - maven \ - py-pip \ - python - -# Create policy user and group -RUN addgroup -S policy && \ - adduser -S --shell /bin/bash -G policy policy - -# Create common directories and change owner -RUN mkdir -p \ - ${POLICY_HOME}/etc/ssl \ - && chown -R policy:policy ${POLICY_HOME} ${POLICY_HOME}/etc/ssl - diff --git a/policy-common/pom.xml b/policy-common/pom.xml deleted file mode 100644 index d63bf4e5..00000000 --- a/policy-common/pom.xml +++ /dev/null @@ -1,53 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - Copyright (C) 2019 Ericsson, Tieto. All rights reserved. - ================================================================================ - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - SPDX-License-Identifier: Apache-2.0 - ============LICENSE_END========================================================= ---> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onap.policy.docker</groupId> - <artifactId>docker</artifactId> - <version>2.0.0-SNAPSHOT</version> - </parent> - - <artifactId>policy-common</artifactId> - <packaging>pom</packaging> - <name>Policy Common Docker images</name> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> - <dist.project.version>${project.version}</dist.project.version> - <docker.skip>false</docker.skip> - <docker.skip.build>false</docker.skip.build> - <docker.skip.push>false</docker.skip.push> - <docker.pull.registry>docker.io</docker.pull.registry> - <docker.push.registry>docker.io</docker.push.registry> - <docker.build.version>${project.version}</docker.build.version> - </properties> - - <profiles> - <profile> - <id>docker</id> - <modules> - <module>alpine</module> - </modules> - </profile> - </profiles> -</project> |