@@ -4,7 +4,7 @@ usage() {
4
4
echo " Usage:
5
5
$0 <private-registry-addr> <release-name>
6
6
7
- Prerequisite: docker login to both source and destination registry
7
+ Prerequisite: docker login to both source and destination registry. Regctl tool is installed.
8
8
"
9
9
}
10
10
@@ -32,9 +32,9 @@ ERRORS_FILE=$JOURNAL_DIR/errors
32
32
33
33
if [[ -n " ${DRY_RUN} " ]]; then
34
34
echo " DRY_RUN MODE"
35
- DOCKER =" echo docker "
35
+ REGCTL =" echo regctl "
36
36
else
37
- DOCKER= " docker "
37
+ REGCTL= " regctl "
38
38
fi
39
39
40
40
echo " Starting at $( date) "
@@ -55,25 +55,21 @@ DELIMITER_INC='codefresh-io/'
55
55
while read line
56
56
do
57
57
[[ -z $line ]] && continue
58
- PULL_IMAGE =$( echo $line )
59
- PUSH_IMAGE =$( echo $PULL_IMAGE | awk -F" ${DELIMITER} |${DELIMITER_INC} " -vPRIVATE_REGISTRY_ADDR=${PRIVATE_REGISTRY_ADDR} \
58
+ SRC_IMAGE =$( echo $line )
59
+ DEST_IMAGE =$( echo $SRC_IMAGE | awk -F" ${DELIMITER} |${DELIMITER_INC} " -vPRIVATE_REGISTRY_ADDR=${PRIVATE_REGISTRY_ADDR} \
60
60
' {if($2 == ""){print PRIVATE_REGISTRY_ADDR"/"$1} else {print PRIVATE_REGISTRY_ADDR"/codefresh/"$2}}' | sed -E -e " s#docker.io\/|registry.k8s.io\/|k8s.gcr.io\/|ghcr.io\/##" )
61
- echo " $PULL_IMAGE -> $PUSH_IMAGE "
61
+ echo " $SRC_IMAGE -> $DEST_IMAGE "
62
62
63
- PULL_COMMAND=" $DOCKER pull $PULL_IMAGE "
64
- TAG_COMMAND=" $DOCKER tag $PULL_IMAGE $PUSH_IMAGE "
65
- PUSH_COMMAND=" $DOCKER push $PUSH_IMAGE "
63
+ REGCTL_COPY_COMMAND=" $REGCTL image copy $SRC_IMAGE $DEST_IMAGE "
66
64
67
- echo " ---------- Migrate $PULL_IMAGE to $PUSH_IMAGE "
68
- eval $PULL_COMMAND && echo -e " Pull $PULL_IMAGE completed - $( date) !!!\n" && \
69
- eval $TAG_COMMAND && echo -e " Tag $PUSH_IMAGE completed - $( date) !!!\n" && \
70
- eval $PUSH_COMMAND && echo -e " Push $PUSH_IMAGE completed - $( date) !!!\n"
65
+ echo " ---------- Copy $SRC_IMAGE to $DEST_IMAGE "
66
+ eval $REGCTL_COPY_COMMAND && echo -e " Copy $DEST_IMAGE completed - $( date) !!!\n" && \
71
67
72
68
if [[ $? == 0 ]]; then
73
- echo " $PUSH_IMAGE " >> $DONE_FILE
69
+ echo " $DEST_IMAGE " >> $DONE_FILE
74
70
DONE_COUNT=$(( DONE_COUNT+ 1 ))
75
71
else
76
- echo " ERROR - $PULL_IMAGE to $PUSH_IMAGE " >> $ERRORS_FILE
72
+ echo " ERROR - $PULL_IMAGE to $DEST_IMAGE " >> $ERRORS_FILE
77
73
ERROR_COUNT=$(( ERROR_COUNT+ 1 ))
78
74
fi
79
75
0 commit comments