diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 00000000..d0482eea --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,46 @@ +name: Docker Image CI + +on: + push: + branches: ['main'] + pull_request: + branches: ['main'] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Determine Version + run: echo "NXRM_VERSION=$(grep release Dockerfile | cut -d "=" -f2 | tr -d '" \')" >> $GITHUB_ENV + + - run: echo "Building NXRM ${{ env.NXRM_VERSION }} for ARM" + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build and push Java 8 + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + platforms: linux/arm64,linux/amd64 + push: true + tags: sonatypecommunity/nexus3:latest , sonatypecommunity/nexus3:${{ env.NXRM_VERSION }} + + - name: Build and push Java 11 + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile.java11 + platforms: linux/arm64,linux/amd64 + push: true + tags: sonatypecommunity/nexus3:${{ env.NXRM_VERSION }}-java11 diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml new file mode 100644 index 00000000..3aeb6467 --- /dev/null +++ b/.github/workflows/sync-upstream.yml @@ -0,0 +1,17 @@ +name: Sync Fork + +on: + schedule: + - cron: '0 */5 * * *' # every 5 hours + workflow_dispatch: # on button click + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - uses: tgymnich/fork-sync@v1.8 + with: + token: ${{ secrets.PERSONAL_TOKEN }} + owner: sonatype + base: main + head: main \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 8bad8165..dfd08a50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,7 +52,7 @@ ENV NEXUS_HOME=${SONATYPE_DIR}/nexus \ # Install Java & tar RUN microdnf update -y \ && microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y \ - java-1.8.0-openjdk-headless tar procps shadow-utils gzip \ + java-1.8.0-openjdk-headless tar procps shadow-utils gzip \ && microdnf clean all \ && groupadd --gid 200 -r nexus \ && useradd --uid 200 -r nexus -g nexus -s /bin/false -d /opt/sonatype/nexus -c 'Nexus Repository Manager user' @@ -74,12 +74,13 @@ RUN curl -L ${NEXUS_DOWNLOAD_URL} --output nexus-${NEXUS_VERSION}-${JAVA_VERSION RUN sed -i '/^-Xms/d;/^-Xmx/d;/^-XX:MaxDirectMemorySize/d' $NEXUS_HOME/bin/nexus.vmoptions RUN echo "#!/bin/bash" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && echo "cd /opt/sonatype/nexus" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && echo "exec ./bin/nexus run" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && chmod a+x ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && sed -e '/^nexus-context/ s:$:${NEXUS_CONTEXT}:' -i ${NEXUS_HOME}/etc/nexus-default.properties + && echo "cd /opt/sonatype/nexus" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ + && echo "exec ./bin/nexus run" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ + && chmod a+x ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ + && sed -e '/^nexus-context/ s:$:${NEXUS_CONTEXT}:' -i ${NEXUS_HOME}/etc/nexus-default.properties RUN microdnf remove -y shadow-utils +#RUN microdnf remove -y gzip shadow-utils VOLUME ${NEXUS_DATA} diff --git a/Dockerfile.java11 b/Dockerfile.java11 index faa218b6..8a965af8 100644 --- a/Dockerfile.java11 +++ b/Dockerfile.java11 @@ -52,7 +52,7 @@ ENV NEXUS_HOME=${SONATYPE_DIR}/nexus \ # Install Java & tar RUN microdnf update -y \ && microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y \ - java-11-openjdk-headless tar procps shadow-utils gzip \ + java-11-openjdk-headless tar procps shadow-utils gzip \ && microdnf clean all \ && groupadd --gid 200 -r nexus \ && useradd --uid 200 -r nexus -g nexus -s /bin/false -d /opt/sonatype/nexus -c 'Nexus Repository Manager user' @@ -74,10 +74,10 @@ RUN curl -L ${NEXUS_DOWNLOAD_URL} --output nexus-${NEXUS_VERSION}-${JAVA_VERSION RUN sed -i '/^-Xms/d;/^-Xmx/d;/^-XX:MaxDirectMemorySize/d' $NEXUS_HOME/bin/nexus.vmoptions RUN echo "#!/bin/bash" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && echo "cd /opt/sonatype/nexus" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && echo "exec ./bin/nexus run" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && chmod a+x ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ - && sed -e '/^nexus-context/ s:$:${NEXUS_CONTEXT}:' -i ${NEXUS_HOME}/etc/nexus-default.properties + && echo "cd /opt/sonatype/nexus" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ + && echo "exec ./bin/nexus run" >> ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ + && chmod a+x ${SONATYPE_DIR}/start-nexus-repository-manager.sh \ + && sed -e '/^nexus-context/ s:$:${NEXUS_CONTEXT}:' -i ${NEXUS_HOME}/etc/nexus-default.properties RUN microdnf remove -y shadow-utils