9 #Server with connection to internet
12 #User and password for docker login on $SERVER
16 #User and password for docker login on localhost
19 IMAGE=`sed 's/^[^.]*\.[^/]*\///g' <<< ${1}`
24 ${CMD} - tool for downloading image and adding it to offline nexus repository
27 $SCRIPT_PATH <repository>/<image>:<tag> <server>
29 $SCRIPT_PATH <repository>/<image>:<tag> <server> --local-repo example.repository
32 <repository>/<image>:<tag> == image to be downloaded (e.g. nexus3.onap.org:10001/library/busybox:latest)
33 <server> == server with connection to internet and docker installed
36 --remote-user == user for docker login on <server>
37 --remote-passwd == password for cicd-user
38 --local-user == user for docker login on localhost
39 --local-passwd == password for local-user
40 --local-repo == local repository where new image should be pushed
51 while [[ $# -gt 2 ]]; do
53 --remote-user) REMOTE_USER=$4
55 --remote-passwd) REMOTE_PASSWD=$4
57 --local-user) LOCAL_USER=$4
59 --local-passwd) LOCAL_PASSWD=$4
61 --local-repo) LOCAL_REPO=$4
73 REMOTE_USER=${REMOTE_USER:-jenkins}
74 REMOTE_PASSWD=${REMOTE_PASSWD:-jenkins}
75 LOCAL_USER=${LOCAL_USER:-admin}
76 LOCAL_PASSWD=${LOCAL_PASSWD:-admin123}
77 LOCAL_REPO=${LOCAL_REPO:-nexus3.onap.org:10001}
79 # Login to CICD server, pull image and push it into CICD nexus repo
80 /usr/bin/ssh -oStrictHostKeyChecking=no $SERVER << EOF
82 docker pull $REPO_IMAGE
83 docker tag $REPO_IMAGE $SERVER/$IMAGE
84 docker login -u $REMOTE_USER -p $REMOTE_PASSWD $SERVER
85 docker push $SERVER/$IMAGE
86 docker rmi $REPO_IMAGE
87 docker rmi $SERVER/$IMAGE
95 # Download image from CICD nexus repo and push it into local repo
96 docker pull $SERVER/$IMAGE
97 docker tag $SERVER/$IMAGE $LOCAL_REPO/$IMAGE
98 docker login -u $LOCAL_USER -p $LOCAL_PASSWD $LOCAL_REPO
99 docker push $LOCAL_REPO/$IMAGE
100 docker rmi $SERVER/$IMAGE
101 docker rmi $LOCAL_REPO/$IMAGE
103 echo 'Done Successfully'