...
Technical Support and Project CommunicationCommunication
Open Issues
Issue 1 -
...
Move Dockerfile into DSpace/DSpace and DSpace/DSpace-Angular
This will reduce the need to retrieve source code from git, if the Dockerfile is already housed at the project root directory.
Issue 2 - Assume the Dockerfile Context has a full instance of source code
Currently, our Docker images pull code from GitHub within the Dockerfile.
Code Block | ||
---|---|---|
| ||
FROM alpine/git as clone ARG DSPACE_BRANCH=dspace-6_x ENV DSPACE_GIT https://github.com/DSpace/DSpace.git WORKDIR /app RUN git clone ${DSPACE_GIT} \ && cd /app/DSpace \ && git checkout ${DSPACE_BRANCH} COPY local.cfg /app/DSpace COPY build.properties /app/DSpace FROM maven as build WORKDIR /app COPY --from=clone /app/DSpace /app RUN mvn package |
The Docker build command takes a git url as a parameter. See https://docs.docker.com/engine/reference/commandline/build/
Determine if the image builds can be simplified by passing the source code to Docker build.
...
Some experimentation is still needed to verify this.
Code Block | ||
---|---|---|
| ||
FROM maven as build
WORKDIR /app
# Add the full source dir into the image
ADD * /app/
# Some other strategy will be needed for inserting local.cfg and build.properties
COPY ??/local.cfg /app/
COPY ??/build.properties /app/ |
This will likely require the creation of a .dockerignore file for times when the build is run from a user's desktop
Code Block | ||
---|---|---|
| ||
.git/
.idea/
.settings/
*/target/
dspace/modules/*/target/ |
Issue 3 - Grant Docker Hub permissions within the DSpace GitHub organization
Terry has attempted to find another library tech open source project that has granted similar permissions.
Tim Donohue , do you know if one of the other DuraSpace projects has done this?
Issue 4 - Docker Image Build Automation
Automate the creation of DSpace images as the DSpace/DSpace and DSpace/DSpace-Anuglar source code changes.
...
- Relocate the Dockerfile to source repo?
- This may be needed
- Create Docker Hub account for DSpace (user not org). Embed Docker Hub user credentials within Travis.
- Evaluate the performance impact on the Travis build
- Determine any limitations on the number of images that can be pushed to Docker Hub
Issue
...
5 - Setting guidelines for team permissions on Docker Hub.
Currently, 4 users have admin rights to the DSpace Docker registry.
Consider granting image-specific permissions to particular teams.
Issue
...
6 - Exploring new opportunities build on DSpace images
The existence of published DSpace images might make it easier to host branch-specific DSpace images to facilitate PR testing and pre-release testing.
...