From daa0db06864aea41c81bbd075930fe7a4fdd9163 Mon Sep 17 00:00:00 2001 From: Jaeyoung Chun Date: Mon, 2 Aug 2021 18:13:48 -0400 Subject: [PATCH] Refactor for SCING --- .gitignore | 2 +- README.md | 16 ++++++++++++++++ build.sh | 12 +++++++++++- config.sh | 6 +----- package-for-cromwell.sh | 36 ------------------------------------ package.sh | 17 ----------------- push.sh | 8 ++++++++ 7 files changed, 37 insertions(+), 60 deletions(-) delete mode 100755 package-for-cromwell.sh delete mode 100755 package.sh create mode 100755 push.sh diff --git a/.gitignore b/.gitignore index 8b13789..397b4a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ - +*.log diff --git a/README.md b/README.md index acbf340..aeb1898 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,22 @@ Dockerized pigz, a parallel implementation of gzip for modern multi-processor, multi-core machines +## How to Run + ```bash docker run -it --rm pigz:2.4 ``` + +## Build Container Image + +```bash +./build.sh +``` + +## Push to Docker Registry + +Either you can use the `docker push` command or run `push.sh` (requires [scing](https://github.com/hisplan/scing)): + +```bash +./push.sh +``` diff --git a/build.sh b/build.sh index 175ae44..0a2e53b 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,15 @@ -#!/bin/bash +#!/bin/bash -e source config.sh docker build -t ${image_name}:${version} . + +# hack: comment the ENTRYPOINT and CMD lines to make it work for cromwell +# this will generate `Dockerfile.cromwell` and build it under the name `cromwell-${image_name}:${version}` +# https://github.com/broadinstitute/cromwell/issues/2461 +cat Dockerfile \ + | sed 's/^ENTRYPOINT \[/# ENTRYPOINT \[/g' \ + | sed 's/^CMD \[/# CMD \[/g' > Dockerfile.cromwell + +# build it +docker build -t cromwell-${image_name}:${version} -f Dockerfile.cromwell . diff --git a/config.sh b/config.sh index 85da53e..99ede72 100644 --- a/config.sh +++ b/config.sh @@ -1,9 +1,5 @@ version="2.4" # docker related -registry="583643567512.dkr.ecr.us-east-1.amazonaws.com" +registry="quay.io/hisplan" image_name="pigz" - -# set this to 1 if you want to create a repository in AWS ECR -# set this to 0 for Docker Hub -create_ecr_repo=1 \ No newline at end of file diff --git a/package-for-cromwell.sh b/package-for-cromwell.sh deleted file mode 100755 index 2902862..0000000 --- a/package-for-cromwell.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -source config.sh - -image_name="cromwell-${image_name}" - -echo "Building ${image_name}:${version}..." - -# hack: comment the ENTRYPOINT and CMD lines -# https://github.com/broadinstitute/cromwell/issues/2461 -cat Dockerfile \ - | sed 's/^ENTRYPOINT \[/# ENTRYPOINT \[/g' \ - | sed 's/^CMD \[/# CMD \[/g' > Dockerfile.cromwell - -cat Dockerfile.cromwell - -# build it -docker build -t ${image_name}:${version} -f Dockerfile.cromwell . - -echo "Packaging ${registry}/${image_name}:${version}..." - -# -# tag it and push it to docker hub -# - -docker tag ${image_name}:${version} ${registry}/${image_name}:${version} -if [ $create_ecr_repo == 1 ] -then - # only create if not exist - aws ecr describe-repositories --repository-name ${image_name} 2> /dev/null - if [ $? != 0 ] - then - aws ecr create-repository --repository-name ${image_name} - fi -fi -docker push ${registry}/${image_name}:${version} diff --git a/package.sh b/package.sh deleted file mode 100755 index 8768176..0000000 --- a/package.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -source config.sh - -echo "${registry}/${image_name}:${version}" - -docker tag ${image_name}:${version} ${registry}/${image_name}:${version} -if [ $create_ecr_repo == 1 ] -then - # only create if not exist - aws ecr describe-repositories --repository-name ${image_name} 2> /dev/null - if [ $? != 0 ] - then - aws ecr create-repository --repository-name ${image_name} - fi -fi -docker push ${registry}/${image_name}:${version} diff --git a/push.sh b/push.sh new file mode 100755 index 0000000..1a86db5 --- /dev/null +++ b/push.sh @@ -0,0 +1,8 @@ +#!/bin/bash -e + +source config.sh + +echo "${registry}/${image_name}:${version}" + +scing push --image=${registry}/${image_name}:${version} +scing push --image=${registry}/cromwell-${image_name}:${version}