Skip to content

Commit e0a2591

Browse files
committed
Modify online-medley docker image deployment to allow downloading productiion and development images separately. Production images created from main branch in online repo. Development images created from any other branch in github actions. Also added oio medley pullprod command to oio.sh scripts.
1 parent 6c3da07 commit e0a2591

File tree

3 files changed

+60
-25
lines changed

3 files changed

+60
-25
lines changed

.github/workflows/buildMedleyDocker.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ jobs:
141141
DOCKER_NAMESPACE=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
142142
echo "docker_namespace=${DOCKER_NAMESPACE}" >> ${GITHUB_OUTPUT}
143143
DOCKER_REPO=${DOCKER_REGISTRY}${DOCKER_NAMESPACE}/${{ steps.tag.outputs.repo_name }}-medley
144-
DOCKER_TAGS="${DOCKER_REPO}:development,${DOCKER_REPO}:${RELEASE_TAG#*-}_${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
144+
if [ "${{ github.ref_name }}" = "main" ]; then devOrProd=production; else devOrProd=development; fi
145+
DOCKER_TAGS="${DOCKER_REPO}:${devOrProd},${DOCKER_REPO}:${RELEASE_TAG#*-}_${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
145146
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_OUTPUT}
146147
echo "docker_tags=${DOCKER_TAGS}" >> ${GITHUB_OUTPUT}
147148

.github/workflows/deployMedleyDocker.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ jobs:
3434
run: |
3535
eval $(ssh-agent)
3636
ssh-add - <<< "${SSH_KEY}"
37-
ssh -o StrictHostKeyChecking=no ubuntu@online.interlisp.org /home/ubuntu/bin/oio medley pulldev
38-
ssh -o StrictHostKeyChecking=no ubuntu@online.interlisp.org /home/ubuntu/bin/oio medley dev2prod
37+
ssh -o StrictHostKeyChecking=no ubuntu@online.interlisp.org /home/ubuntu/bin/oio medley pullprod
3938
env:
4039
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
4140

system/oio.sh

Lines changed: 57 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -203,24 +203,7 @@ case $1 in
203203
medley)
204204

205205
image=ghcr.io/interlisp/online-medley
206-
207-
case "I$2I" in
208-
209-
210-
IpulldevI)
211-
image=ghcr.io/interlisp/online-medley
212-
docker image tag ${image}:development ${image}:2bdeleted
213-
docker pull ${image}:development
214-
docker image rm ${image}:2bdeleted
215-
echo "Online-medley development release pulled from Github Container Registry"
216-
;;
217-
218-
Idev2prodI)
219-
if [ -z "$(docker images -q ${image}:development)" ]
220-
then
221-
echo "ERROR: docker image \"${image}:development\" does not exist."
222-
exit 1
223-
fi
206+
age_production() {
224207
if [ -n "$(docker images -q ${image}:production-3)" ]
225208
then
226209
docker image rm ${image}:production-3
@@ -237,9 +220,59 @@ case $1 in
237220
then
238221
docker tag ${image}:production ${image}:production-1
239222
fi
223+
}
224+
225+
226+
case "I$2I" in
227+
228+
229+
IpulldevI)
230+
docker image tag ${image}:development ${image}:2bdeleted
231+
docker pull ${image}:development
232+
docker image rm ${image}:2bdeleted
233+
echo "Latest Online-medley development release pulled from Github Container Registry"
234+
;;
235+
236+
IpullprodI)
237+
docker image tag ${image}:production ${image}:holdfornow
238+
docker pull ${image}:production
239+
if [ $? -ne 0 ]
240+
then
241+
docker image tag ${image}:holdfornow ${image}:production
242+
echo "Pull of latest production image failed. Exiting"
243+
exit 1
244+
fi
245+
docker image tag ${image}:production ${image}:newproduction
246+
docker image tag ${image}:holdfornow ${image}:production
247+
docker image rm ${image}:holdfornow
248+
age_production
249+
docker image tag ${image}:newproduction ${image}:production
250+
docker image rm ${image}:newproduction
251+
echo "Latest Online-medley production release pulled from Github Container Registry"
252+
;;
253+
254+
Idev2prodI)
255+
if [ -z "$(docker images -q ${image}:development)" ]
256+
then
257+
echo "ERROR: docker image \"${image}:development\" does not exist."
258+
exit 1
259+
fi
260+
age_production
240261
#
241262
docker tag ${image}:development ${image}:production
242-
echo "Online-medley moved from development to production."
263+
echo "Online-medley development image additionally tagged as production."
264+
;;
265+
266+
Iprod2devI)
267+
if [ -z "$(docker images -q ${image}:production)" ]
268+
then
269+
echo "ERROR: docker image \"${image}:production\" does not exist."
270+
exit 1
271+
fi
272+
docker image tag ${image}:development ${image}:2bdeleted
273+
docker tag ${image}:production ${image}:development
274+
docker image rm ${image}:2bdeleted
275+
echo "Online-medley production image additionally tagged as development."
243276
;;
244277

245278
IrestoreI)
@@ -357,9 +390,11 @@ case $1 in
357390
echo "${oio} logins log: show logins log for the last month"
358391
echo "${oio} logins log YYYY-MM-DD: show logins log since YYYY-MM-DD"
359392
echo
360-
echo "${oio} medley pulldev: pull latest development (test) online-medley image from GHCR"
361-
echo "${oio} medley dev2prod: move current development online-medley image to production status"
362-
echo "${oio} medley restore: restore previous production online-medley image"
393+
echo "${oio} medley pulldev: pull latest development (test) online-medley image from GHCR"
394+
echo "${oio} medley pullprod: pull latest production online-medley image from GHCR"
395+
echo "${oio} medley dev2prod: move current development online-medley image into production status"
396+
echo "${oio} medley prod2dev: tag the current production online-medley image as being development as well"
397+
echo "${oio} medley restore: restore previous production online-medley image"
363398
echo
364399
echo "${oio} portal pulldev: pull latest development portal (online-development) docker image from GHCR"
365400
echo "${oio} portal pullprod: pull latest production portal (online-production) docker image from GHCR"

0 commit comments

Comments
 (0)