-
Notifications
You must be signed in to change notification settings - Fork 667
[WIP] CONSOLE-4083: Remove Dockerfile.builder and make other container file changes #13830
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| ################################################## | ||
| # | ||
| # cypress image | ||
| FROM cypress/included:13.10.0 | ||
|
|
||
| ################################################## | ||
| # | ||
| # go backend build | ||
| FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.22-openshift-4.17 AS gobuilder | ||
| RUN mkdir -p /go/src/github.com/openshift/console/ | ||
| ADD . /go/src/github.com/openshift/console/ | ||
| WORKDIR /go/src/github.com/openshift/console/ | ||
| RUN ./build-backend.sh | ||
|
|
||
|
|
||
| ################################################## | ||
| # | ||
| # nodejs frontend build | ||
| FROM registry.ci.openshift.org/ocp/builder:rhel-9-base-nodejs-openshift-4.17 AS nodebuilder | ||
|
|
||
| ADD . . | ||
|
|
||
| USER 0 | ||
|
|
||
| ARG YARN_VERSION=v1.22.19 | ||
|
|
||
| # bootstrap yarn so we can install and run the other tools. | ||
| RUN CACHED_YARN=./artifacts/yarn-${YARN_VERSION}.tar.gz; \ | ||
| if [ -f ${CACHED_YARN} ]; then \ | ||
| npm install ${CACHED_YARN}; \ | ||
| else \ | ||
| npm install https://github.com/yarnpkg/yarn/releases/download/${YARN_VERSION}/yarn-${YARN_VERSION}.tar.gz; \ | ||
| fi | ||
|
|
||
| # The REMOTE_SOURCES value is set by the build system to indicate the location of the cachito-backed artifacts cache. | ||
| # As cachito might not be available in all environments, we need to make sure the value is set before trying to use it and | ||
| # that the COPY layer below doesn't fail. Setting it to be the Dockerfile itself is fairly safe, as it will always be | ||
| # available. | ||
| ARG REMOTE_SOURCES=./Dockerfile.product | ||
| ARG REMOTE_SOURCE_DIR=/tmp/remote-sources | ||
|
|
||
| COPY $REMOTE_SOURCES $REMOTE_SOURCES_DIR | ||
|
|
||
| # use dependencies provided by Cachito | ||
| RUN test -d ${REMOTE_SOURCES}/cachito-gomod-with-deps || exit 0; \ | ||
| cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/registry-ca.pem . \ | ||
| && cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/frontend/{.npmrc,.yarnrc,yarn.lock} frontend/ | ||
|
|
||
| # run the build | ||
| RUN container-entrypoint ./build-frontend.sh | ||
|
|
||
|
|
||
| ################################################## | ||
| # | ||
| # actual base image for final product | ||
| FROM registry.ci.openshift.org/ocp/4.17:base-rhel9 | ||
| RUN mkdir -p /opt/bridge/bin | ||
| COPY --from=gobuilder /go/src/github.com/openshift/console/bin/bridge /opt/bridge/bin | ||
| COPY --from=nodebuilder /opt/app-root/src/frontend/public/dist /opt/bridge/static | ||
| COPY --from=gobuilder /go/src/github.com/openshift/console/pkg/graphql/schema.graphql /pkg/graphql/schema.graphql | ||
|
|
||
| WORKDIR / | ||
| # doesn't require a root user. | ||
| USER 1001 | ||
|
|
||
| CMD [ "/opt/bridge/bin/bridge", "--public-dir=/opt/bridge/static" ] | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,26 @@ | ||
| # Dockerfile to build console image from pre-built front end. | ||
|
|
||
| FROM quay.io/coreos/tectonic-console-builder:v26 AS build | ||
| ################################################## | ||
| # | ||
| # go backend build | ||
| FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.22-openshift-4.17 AS gobuilder | ||
| RUN mkdir -p /go/src/github.com/openshift/console/ | ||
| ADD . /go/src/github.com/openshift/console/ | ||
| WORKDIR /go/src/github.com/openshift/console/ | ||
| RUN ./build-backend.sh | ||
|
|
||
| FROM openshift/origin-base | ||
| COPY --from=build /go/src/github.com/openshift/console/bin/bridge /opt/bridge/bin/bridge | ||
|
|
||
| ################################################## | ||
| # | ||
| # copy local pre-built nodejs frontend build | ||
| FROM registry.ci.openshift.org/ocp/4.17:base-rhel9 | ||
| RUN mkdir -p /opt/bridge/bin | ||
| COPY --from=gobuilder /go/src/github.com/openshift/console/bin/bridge /opt/bridge/bin/bridge | ||
| COPY ./frontend/public/dist /opt/bridge/static | ||
| COPY ./pkg/graphql/schema.graphql /pkg/graphql/schema.graphql | ||
| COPY --from=gobuilder /go/src/github.com/openshift/console/pkg/graphql/schema.graphql /pkg/graphql/schema.graphql | ||
|
|
||
| WORKDIR / | ||
| # doesn't require a root user. | ||
| USER 1001 | ||
|
|
||
| CMD [ "/opt/bridge/bin/bridge", "--public-dir=/opt/bridge/static" ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,7 +3,38 @@ | |
| # See dynamic-demo-plugin/README.md for details. | ||
|
|
||
| # Stage 0: build the demo plugin | ||
| FROM quay.io/coreos/tectonic-console-builder:v26 AS build | ||
| FROM registry.ci.openshift.org/ocp/builder:rhel-9-base-nodejs-openshift-4.17 AS nodebuilder | ||
|
|
||
| ADD . . | ||
|
|
||
| USER 0 | ||
|
|
||
| ARG YARN_VERSION=v1.22.19 | ||
|
|
||
| # bootstrap yarn so we can install and run the other tools. | ||
| RUN CACHED_YARN=./artifacts/yarn-${YARN_VERSION}.tar.gz; \ | ||
| if [ -f ${CACHED_YARN} ]; then \ | ||
| npm install ${CACHED_YARN}; \ | ||
| else \ | ||
| npm install https://github.com/yarnpkg/yarn/releases/download/${YARN_VERSION}/yarn-${YARN_VERSION}.tar.gz; \ | ||
| fi | ||
|
|
||
| # The REMOTE_SOURCES value is set by the build system to indicate the location of the cachito-backed artifacts cache. | ||
| # As cachito might not be available in all environments, we need to make sure the value is set before trying to use it and | ||
| # that the COPY layer below doesn't fail. Setting it to be the Dockerfile itself is fairly safe, as it will always be | ||
| # available. | ||
| ARG REMOTE_SOURCES=./Dockerfile.product | ||
| ARG REMOTE_SOURCE_DIR=/tmp/remote-sources | ||
|
|
||
| COPY $REMOTE_SOURCES $REMOTE_SOURCES_DIR | ||
|
|
||
| # use dependencies provided by Cachito | ||
| RUN test -d ${REMOTE_SOURCES}/cachito-gomod-with-deps || exit 0; \ | ||
| cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/registry-ca.pem . \ | ||
| && cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/frontend/{.npmrc,.yarnrc,yarn.lock} frontend/ | ||
|
|
||
| # prevent download of cypress binary as part of module installs | ||
| ENV CYPRESS_INSTALL_BINARY=0 | ||
|
|
||
| RUN mkdir -p /src/console | ||
| COPY . /src/console | ||
|
|
@@ -16,16 +47,16 @@ RUN yarn install && \ | |
| yarn build | ||
|
|
||
| # Stage 1: build the target image | ||
| FROM node:10 | ||
| FROM node:18 | ||
|
|
||
| COPY --from=build /src/console/dynamic-demo-plugin/dist /opt/console-plugin-demo/static | ||
| COPY --from=build /src/console/dynamic-demo-plugin/node_modules /opt/console-plugin-demo/node_modules | ||
| COPY --from=build /src/console/dynamic-demo-plugin/http-server.sh /opt/console-plugin-demo/http-server.sh | ||
| COPY --from=nodebuilder /src/console/dynamic-demo-plugin/dist /opt/console-plugin-demo/static | ||
| COPY --from=nodebuilder /src/console/dynamic-demo-plugin/node_modules /opt/console-plugin-demo/node_modules | ||
| COPY --from=nodebuilder /src/console/dynamic-demo-plugin/http-server.sh /opt/console-plugin-demo/http-server.sh | ||
|
|
||
| LABEL io.k8s.display-name="OpenShift Console Demo Plugin" \ | ||
| io.k8s.description="Sample OpenShift Console dynamic plugin used for testing purposes." \ | ||
| io.openshift.tags="openshift" \ | ||
| maintainer="Vojtech Szocs <[email protected]>" | ||
| io.k8s.description="Sample OpenShift Console dynamic plugin used for testing purposes." \ | ||
| io.openshift.tags="openshift" \ | ||
| maintainer="Vojtech Szocs <[email protected]>" | ||
|
|
||
| USER 1001 | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking about it, we wont need to build backend in the this image, since we are testing agains live cluster.