diff --git a/.github/workflows/build-no-fdt-agent.yml b/.github/workflows/build-no-fdt-agent.yml new file mode 100644 index 0000000..26e783e --- /dev/null +++ b/.github/workflows/build-no-fdt-agent.yml @@ -0,0 +1,87 @@ +name: Docker Image Build For FDT Agent + + +on: + workflow_dispatch: + inputs: + buildtag: + description: "Build Tag" + default: "dev" + type: "string" + +jobs: + build: + runs-on: ubuntu-latest + env: + DOCKER_USER: ${{secrets.DOCKER_USER}} + DOCKER_REGISTRY: ${{secrets.DOCKER_REGS}} + DOCKER_SDN_USER: ${{secrets.DOCKER_SDN_USER}} + DOCKER_SDN_REGISTRY: ${{secrets.DOCKER_SDN_REGS}} + DOCKER_TIER2_USER: ${{secrets.DOCKER_TIER2_USER}} + DOCKER_TIER2_REGISTRY: ${{secrets.DOCKER_TIER2_REGS}} + IMAGE_NAME: "cmscaltech/fdt-agent" + BUILD_DIR: "cmscaltech-docker/fdt-agent" + steps: + - name: Checkout tools repo + uses: actions/checkout@v3 + with: + repository: cmscaltech/docker + path: cmscaltech-docker + + - name: Login to First Docker Registry + id: dockerOne + if: always() + uses: docker/login-action@v3 + with: + registry: ${{secrets.DOCKER_REGS}} + username: ${{secrets.DOCKER_USER}} + password: ${{secrets.DOCKER_PASSWORD}} + + - name: Login to Second Docker Registry + id: dockerTwo + if: always() + uses: docker/login-action@v3 + with: + registry: ${{secrets.DOCKER_SDN_REGS}} + username: ${{secrets.DOCKER_SDN_USER}} + password: ${{secrets.DOCKER_SDN_PASSWORD}} + + - name: Login to Thrid Docker Registry + id: dockerThree + if: always() + uses: docker/login-action@v3 + with: + registry: ${{secrets.DOCKER_TIER2_REGS}} + username: ${{secrets.DOCKER_TIER2_USER}} + password: ${{secrets.DOCKER_TIER2_PASSWORD}} + + - name: Build Docker image + id: mainRun + if: always() && (steps.dockerOne.outcome == 'success' || steps.dockerTwo.outcome == 'success' || steps.dockerThree.outcome == 'success') + run: | + cd $BUILD_DIR + docker build . --file Dockerfile-agent \ + --tag $IMAGE_NAME:${{ github.event.inputs.buildtag }} \ + --tag $IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) \ + --tag $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} \ + --tag $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) \ + --tag $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} \ + --tag $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) + + - name: Docker Push Image to first registry + if: always() && (steps.mainRun.outcome == 'success' && steps.dockerOne.outcome == 'success') + run: | + docker push $IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) + docker push $IMAGE_NAME:${{ github.event.inputs.buildtag }} + + - name: Docker Push Image to second registry + if: always() && (steps.mainRun.outcome == 'success' && steps.dockerTwo.outcome == 'success') + run: | + docker push $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} + docker push $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) + + - name: Docker Push Image to third registry + if: always() && (steps.mainRun.outcome == 'success' && steps.dockerThree.outcome == 'success') + run: | + docker push $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} + docker push $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) diff --git a/.github/workflows/build-no-fdt.yml b/.github/workflows/build-no-fdt.yml new file mode 100644 index 0000000..70c43f9 --- /dev/null +++ b/.github/workflows/build-no-fdt.yml @@ -0,0 +1,87 @@ +name: Docker Image Build For FDT Agent + + +on: + workflow_dispatch: + inputs: + buildtag: + description: "Build Tag" + default: "dev" + type: "string" + +jobs: + build: + runs-on: ubuntu-latest + env: + DOCKER_USER: ${{secrets.DOCKER_USER}} + DOCKER_REGISTRY: ${{secrets.DOCKER_REGS}} + DOCKER_SDN_USER: ${{secrets.DOCKER_SDN_USER}} + DOCKER_SDN_REGISTRY: ${{secrets.DOCKER_SDN_REGS}} + DOCKER_TIER2_USER: ${{secrets.DOCKER_TIER2_USER}} + DOCKER_TIER2_REGISTRY: ${{secrets.DOCKER_TIER2_REGS}} + IMAGE_NAME: "cmscaltech/fdt" + BUILD_DIR: "cmscaltech-docker/fdt" + steps: + - name: Checkout tools repo + uses: actions/checkout@v3 + with: + repository: cmscaltech/docker + path: cmscaltech-docker + + - name: Login to First Docker Registry + id: dockerOne + if: always() + uses: docker/login-action@v3 + with: + registry: ${{secrets.DOCKER_REGS}} + username: ${{secrets.DOCKER_USER}} + password: ${{secrets.DOCKER_PASSWORD}} + + - name: Login to Second Docker Registry + id: dockerTwo + if: always() + uses: docker/login-action@v3 + with: + registry: ${{secrets.DOCKER_SDN_REGS}} + username: ${{secrets.DOCKER_SDN_USER}} + password: ${{secrets.DOCKER_SDN_PASSWORD}} + + - name: Login to Thrid Docker Registry + id: dockerThree + if: always() + uses: docker/login-action@v3 + with: + registry: ${{secrets.DOCKER_TIER2_REGS}} + username: ${{secrets.DOCKER_TIER2_USER}} + password: ${{secrets.DOCKER_TIER2_PASSWORD}} + + - name: Build Docker image + id: mainRun + if: always() && (steps.dockerOne.outcome == 'success' || steps.dockerTwo.outcome == 'success' || steps.dockerThree.outcome == 'success') + run: | + cd $BUILD_DIR + docker build . --file Dockerfile \ + --tag $IMAGE_NAME:${{ github.event.inputs.buildtag }} \ + --tag $IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) \ + --tag $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} \ + --tag $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) \ + --tag $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} \ + --tag $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) + + - name: Docker Push Image to first registry + if: always() && (steps.mainRun.outcome == 'success' && steps.dockerOne.outcome == 'success') + run: | + docker push $IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) + docker push $IMAGE_NAME:${{ github.event.inputs.buildtag }} + + - name: Docker Push Image to second registry + if: always() && (steps.mainRun.outcome == 'success' && steps.dockerTwo.outcome == 'success') + run: | + docker push $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} + docker push $DOCKER_SDN_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) + + - name: Docker Push Image to third registry + if: always() && (steps.mainRun.outcome == 'success' && steps.dockerThree.outcome == 'success') + run: | + docker push $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }} + docker push $DOCKER_TIER2_REGISTRY/$IMAGE_NAME:${{ github.event.inputs.buildtag }}-$(date +%Y%m%d) diff --git a/fdt/Dockerfile b/fdt/Dockerfile new file mode 100644 index 0000000..7b0336a --- /dev/null +++ b/fdt/Dockerfile @@ -0,0 +1,15 @@ +FROM openjdk:11-jre-slim + +ENV FDT_VERSION=0.26.3 +ENV FDT_HOME=/fdt +ENV FDT_JAR=${FDT_HOME}/fdt.jar + +RUN mkdir -p ${FDT_HOME} \ + && curl -L https://github.com/fast-data-transfer/fdt/releases/download/${FDT_VERSION}/fdt.jar -o ${FDT_JAR} +# Expose the FDT default port +EXPOSE 54321 + +WORKDIR ${FDT_HOME} + +# Command to run FDT +CMD ["java", "-jar", "fdt.jar", "-p", "54321"] diff --git a/fdt/Dockerfile-agent b/fdt/Dockerfile-agent new file mode 100644 index 0000000..dd45093 --- /dev/null +++ b/fdt/Dockerfile-agent @@ -0,0 +1,15 @@ +FROM openjdk:11-jre-slim + +ENV FDT_VERSION=0.26.3 +ENV FDT_HOME=/fdt +ENV FDT_JAR=${FDT_HOME}/fdt.jar + +RUN mkdir -p ${FDT_HOME} \ + && curl -L https://github.com/fast-data-transfer/fdt/releases/download/${FDT_VERSION}/fdt.jar -o ${FDT_JAR} +# Expose the FDT default port +EXPOSE 54321 + +WORKDIR ${FDT_HOME} + +# Command to run FDT +CMD ["java", "-jar", "fdt.jar", "-p", "54321", "-autoport", "-portrange", "100", "-agent"] diff --git a/fdt/build.sh b/fdt/build.sh new file mode 100755 index 0000000..3f268d5 --- /dev/null +++ b/fdt/build.sh @@ -0,0 +1,5 @@ +for did in `docker images | grep hepgui | awk '{print $3}' | uniq`; +do + docker image rm $did --force; +done +docker build --no-cache -t fdt --platform=linux/amd64 . diff --git a/fdt/upload.sh b/fdt/upload.sh new file mode 100755 index 0000000..c98cc16 --- /dev/null +++ b/fdt/upload.sh @@ -0,0 +1,5 @@ +source ../environment +docker login +dockerimageid=`docker images | grep hepgui | grep latest | awk '{print $3}'` +docker tag $dockerimageid cmscaltech/hepgui:latest +docker push cmscaltech/hepgui