diff --git a/Amazon/container/README.md b/Amazon/containers/README.md similarity index 97% rename from Amazon/container/README.md rename to Amazon/containers/README.md index 067e7bb..0791230 100644 --- a/Amazon/container/README.md +++ b/Amazon/containers/README.md @@ -16,7 +16,7 @@ JFrog Container Registry can be installed into either an ECS or EKS cluster. To simply get up and running, you can try: -```docker run -d -p 8081:8081 ``` +```docker run -d -p 8081:8081 -p 8082:8082 ``` After this, you can access the UI at \:8081. The default username is 'admin'. See 'Getting or setting initial password' to find out how to get the initial password. ### Getting or setting initial password diff --git a/Amazon/containers/a.json b/Amazon/containers/a.json deleted file mode 100644 index 2950661..0000000 --- a/Amazon/containers/a.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "router": { - "node_id": "1dae71383ae3", - "state": "HEALTHY", - "message": "OK" - }, - "services": [ - { - "service_id": "jfac@01e49jb08bm7051xb2rp9k1ed8", - "node_id": "1dae71383ae3", - "state": "UNHEALTHY_PEER", - "message": "Service is healthy; there is at least one unhealthy service; there are missing services: jffe" - }, - { - "service_id": "jfmd@01e49jbpqfhn39k8z3kyvqepzh", - "node_id": "1dae71383ae3", - "state": "UNHEALTHY_PEER", - "message": "Service is healthy; there is at least one unhealthy service; there are missing services: jffe" - }, - { - "service_id": "jfrt@01e49jcq7t96ag11tq25h60759", - "node_id": "1dae71383ae3", - "state": "UNHEALTHY", - "message": "unexpected response status code: 503" - } - ] -} diff --git a/Amazon/containers/buildAwsContainers.sh b/Amazon/containers/buildAwsContainers.sh index c8c04b3..fc3731f 100755 --- a/Amazon/containers/buildAwsContainers.sh +++ b/Amazon/containers/buildAwsContainers.sh @@ -1,89 +1,88 @@ #!/usr/bin/env bash VERSION=$1 EDITIONS=( artifactory-pro artifactory-jcr ) -#EDITIONS=( artifactory-jcr ) -#EDITIONS=( artifactory-pro ) - #for loop start: editoins for EDITION in "${EDITIONS[@]}" do -UPSTREAM_IMAGE_NAME=docker.bintray.io/jfrog/$EDITION -BUILD_IMAGE_NAME=partnership-public-images.jfrog.io/aws/$EDITION -ARTIFACTORY_PASSWORD=corona1831 + UPSTREAM_IMAGE_NAME=docker.bintray.io/jfrog/$EDITION + BUILD_IMAGE_NAME=partnership-public-images.jfrog.io/aws/$EDITION + ARTIFACTORY_PASSWORD=corona1831 -# Logic starts here -if [ -z "$VERSION" ] -then - echo "No version passed in. Build failed." - echo "usage: buildAwsContainers " - echo "example: buildAwsContainers artifactory-pro 7.2.1 " - exit -1 -fi + # Logic starts here + if [ -z "$VERSION" ] + then + echo "No version passed in. Build failed." + echo "usage: buildAwsContainers " + echo "example: buildAwsContainers 7.2.1 " + exit -1 + fi -# Extract and modify the entrypoint to run out custom code for first-time password -docker pull $UPSTREAM_IMAGE_NAME:$VERSION -docker run -d --rm --name tmp-docker $UPSTREAM_IMAGE_NAME:$VERSION -docker cp tmp-docker:/entrypoint-artifactory.sh original-entrypoint.sh -docker rm -f tmp-docker -perl -pe 's/^addExtraJavaArgs$/`cat extra_conf`/ge' original-entrypoint.sh > entrypoint-artifactory.sh + # Extract and modify the entrypoint to run out custom code for first-time password + docker pull $UPSTREAM_IMAGE_NAME:$VERSION + docker run -d --rm --name tmp-docker $UPSTREAM_IMAGE_NAME:$VERSION + docker cp tmp-docker:/entrypoint-artifactory.sh original-entrypoint.sh + docker rm -f tmp-docker + perl -pe 's/^addExtraJavaArgs$/`cat extra_conf`/ge' original-entrypoint.sh > entrypoint-artifactory.sh -#Create installer-info file -if [ "$EDITION" == "artifactory-pro" ] -then - cat < installer-info.json -{ - "productId": "CloudFormation_artifactory-ha/$VERSION", - "features": [ + #Create installer-info file + if [ "$EDITION" == "artifactory-pro" ] + then + cat <<" EOF" > installer-info.json { - "featureId": "Partner/ACC-006973" + "productId": "CloudFormation_artifactory-ha/$VERSION", + "features": [ + { + "featureId": "Partner/ACC-006973" + } + ] } - ] -} -EOF -else - cat < installer-info.json -{ - "productId": "CloudFormation_artifactory-jcr/$VERSION", - "features": [ + EOF + else + cat <<" EOF" > installer-info.json { - "featureId": "Partner/ACC-006973" + "productId": "CloudFormation_artifactory-jcr/$VERSION", + "features": [ + { + "featureId": "Partner/ACC-006973" + } + ] } - ] -} -EOF -fi -cat installer-info.json + EOF + fi + cat installer-info.json -# Create the new docker image -docker build --no-cache --build-arg UPSTREAM_TAG=$VERSION -t $BUILD_IMAGE_NAME:$VERSION . + # Create the new docker image + docker build --no-cache --build-arg UPSTREAM_TAG=$VERSION -t $BUILD_IMAGE_NAME:$VERSION . -# Run minimal test -set -x -docker run --name test-new-image -d -e ARTIFACTORY_PASSWORD=$ARTIFACTORY_PASSWORD -p 8081:8081 -p 8082:8082 $BUILD_IMAGE_NAME:$VERSION -# Wait for it to come up -SUCCESS=false -for i in {1..30} -do - STATUS=$(curl -u admin:$ARTIFACTORY_PASSWORD http://localhost:8082/router/api/v1/system/health | jq .services[0].state) - if [ "$STATUS" == "\"HEALTHY\"" ]; then - echo "Build successful!" - SUCCESS=true - break - fi - echo "Container is not up yet, waiting 10 seconds..." - sleep 10 -done - -if [ "$SUCCESS" = true ] ; then - echo "Test Succeeded. Build succeeded." -else - echo "Test failed. Build failed. Removing docker image" -fi -#clearnup -docker stop test-new-image -docker rm test-new-image -rm installer-info.json - -#for loop endL: editions + # Run minimal test + set -x + docker run --name test-new-image -d -e ARTIFACTORY_PASSWORD=$ARTIFACTORY_PASSWORD -p 8081:8081 -p 8082:8082 $BUILD_IMAGE_NAME:$VERSION + # Wait for it to come up + SUCCESS=false + for i in {1..30} + do + STATUS=$(curl -u admin:$ARTIFACTORY_PASSWORD http://localhost:8082/router/api/v1/system/health | jq .services[0].state) + if [ "$STATUS" == "\"HEALTHY\"" ]; then + echo "Build successful!" + SUCCESS=true + break + fi + echo "Container is not up yet, waiting 10 seconds..." + sleep 10 + done + + #clearnup + docker stop test-new-image + docker rm test-new-image + rm installer-info.json + + + if [ "$SUCCESS" = true ] ; then + echo "Test Succeeded. Build succeeded." + else + echo "Test failed. Build failed. Removing docker image" + exit 1 + fi + #for loop endL: editions done