Skip to content

Commit f7a7eda

Browse files
authored
Merge pull request #65 from Interlisp/fgh_dev-deployment
Modify online-medley docker image deployment to allow downloading productiion and development images separately.
2 parents 6c3da07 + e0a2591 commit f7a7eda

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)