From d02096a1f3b92b996a9fe04915708b9340f0b35a Mon Sep 17 00:00:00 2001 From: szaimen Date: Sat, 4 Dec 2021 19:12:47 +0100 Subject: [PATCH 1/2] add a script to publish to latest-arm64 Signed-off-by: szaimen --- develop.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/develop.md b/develop.md index c704ec4b..107536bb 100644 --- a/develop.md +++ b/develop.md @@ -16,6 +16,7 @@ It will now also select the developer channel for all other containers automatic ## How to promote builds from develop to latest + To automatically promoted the latest develop version you can use the following script: **WARNING:** Make sure to verify that the latest develop tag is what you really want to deploy since someone could have pushed to main and created a new container in between. ```shell +# x64 export AIO_NAME=$name docker pull nextcloud/$AIO_NAME\:develop docker tag nextcloud/$AIO_NAME\:develop nextcloud/$AIO_NAME\:latest docker push nextcloud/$AIO_NAME\:latest ``` + +**ATTENTION**: don't run the script below since the arm64 containers currently don't work! +```shell +# arm64 +export AIO_NAME=$name +docker pull nextcloud/$AIO_NAME\:develop-arm64 +docker tag nextcloud/$AIO_NAME\:develop-arm64 nextcloud/$AIO_NAME\:latest-arm64 +docker push nextcloud/$AIO_NAME\:latest-arm64 +``` +Later when the arm64 containers work, we can simply publish to latest and latest-arm64 in a rush by providing the name one time at the top of the script. \ No newline at end of file From 7902e2e75b3e749140b28f1db1432907fb7b7ca8 Mon Sep 17 00:00:00 2001 From: szaimen Date: Sun, 5 Dec 2021 14:03:05 +0100 Subject: [PATCH 2/2] improve channel logic to work as expected Signed-off-by: szaimen --- php/src/Docker/DockerActionManager.php | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/php/src/Docker/DockerActionManager.php b/php/src/Docker/DockerActionManager.php index 2b180310..85c6099e 100644 --- a/php/src/Docker/DockerActionManager.php +++ b/php/src/Docker/DockerActionManager.php @@ -47,12 +47,7 @@ class DockerActionManager } private function BuildImageName(Container $container) : string { - $channel = $this->GetCurrentChannel(); - if ($channel === 'develop') { - return $container->GetContainerName() . ':develop'; - } else { - return $container->GetContainerName() . ':latest'; - } + return $container->GetContainerName() . ':' . $this->GetCurrentChannel(); } public function GetContainerRunningState(Container $container) : IContainerState @@ -79,12 +74,7 @@ class DockerActionManager public function GetContainerUpdateState(Container $container) : IContainerState { - $channel = $this->GetCurrentChannel(); - if ($channel === 'develop') { - $tag = 'develop'; - } else { - $tag = 'latest'; - } + $tag = $this->GetCurrentChannel(); $runningDigest = $this->GetRepoDigestOfContainer($container->GetIdentifier()); $remoteDigest = $this->dockerHubManager->GetLatestDigestOfTag($container->GetContainerName(), $tag); @@ -350,12 +340,7 @@ class DockerActionManager $imageName = 'nextcloud/all-in-one'; $containerName = 'nextcloud-aio-mastercontainer'; - $channel = $this->GetCurrentChannel(); - if ($channel === 'develop') { - $tag = 'develop'; - } else { - $tag = 'latest'; - } + $tag = $this->GetCurrentChannel(); $runningDigest = $this->GetRepoDigestOfContainer($containerName); $remoteDigest = $this->dockerHubManager->GetLatestDigestOfTag($imageName, $tag);