Guest User

Untitled

a guest
Jun 29th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # ============================================================================
  4. # Usage
  5. #
  6. # build-push-docker.sh \
  7. # --image-name=name \
  8. # --dockerfile=Dockerfile \
  9. # --private-repo-url=my-private-docker-registry.foo
  10. # --private-repo-path=/path
  11. # --username=foo \
  12. # --password=bar \
  13. # --version=1.0.0 \
  14. #
  15. # Outcome
  16. # A new image will be created here:
  17. #
  18. # my-private-docker-registry.foo/path/name:1.0.0
  19. #
  20. # ============================================================================
  21.  
  22. for argumentName in "$@"
  23. do
  24. case $argumentName in
  25.  
  26. --image-name=*)
  27. IMAGE_NAME="${argumentName#*=}"
  28. ;;
  29.  
  30. --dockerfile=*)
  31. DOCKERFILE="${argumentName#*=}"
  32. ;;
  33.  
  34. --private-repo-url=*)
  35. PRIVATE_REPO_URL="${argumentName#*=}"
  36. ;;
  37.  
  38. --private-repo-path=*)
  39. PRIVATE_REPO_PATH="${argumentName#*=}"
  40. ;;
  41.  
  42. --username=*)
  43. USERNAME="${argumentName#*=}"
  44. ;;
  45.  
  46. --password=*)
  47. PASSWORD="${argumentName#*=}"
  48. ;;
  49.  
  50. --version=*)
  51. VERSION="${argumentName#*=}"
  52. ;;
  53.  
  54. esac
  55. done
  56.  
  57. if [ -z "${IMAGE_NAME}" ]; then
  58. echo "ERROR: No image name defined! (Missing --image-name argument)"
  59. exit 1
  60. elif [ -z "${USERNAME}" ]; then
  61. echo "ERROR: No username defined! (Missing --username argument)"
  62. exit 1
  63. elif [ -z "${PASSWORD}" ]; then
  64. echo "ERROR: No password defined! (Missing --password argument)"
  65. exit 1
  66. elif [ -z "${VERSION}" ]; then
  67. echo "ERROR: No version defined! (Missing --version argument)"
  68. exit 1
  69. fi
  70.  
  71. if [ -z "${DOCKERFILE}" ]; then
  72. echo "Info: No explicit Dockerfile has been defined! Using 'Dockerfile' as default"
  73. DOCKERFILE="Dockerfile"
  74. fi
  75.  
  76. FULL_IMAGE_NAME=${PRIVATE_REPO_URL}${PRIVATE_REPO_PATH}/${IMAGE_NAME}:${VERSION}
  77.  
  78. echo "Push image: ${FULL_IMAGE_NAME}:${VERSION}"
  79. docker login ${PRIVATE_REPO_URL} -u ${USERNAME} --password-stdin ${PASSWORD}
  80. docker build -f ${DOCKERFILE} -t ${FULL_IMAGE_NAME} .
  81. docker push ${FULL_IMAGE_NAME}
Add Comment
Please, Sign In to add comment