mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-10-02 03:24:28 +08:00
Merge pull request #148 from nextcloud/enh/noid/update-channel-and-publish-logic
update channel and publish logic for building containers for multiple architectures
This commit is contained in:
commit
46a566d237
2 changed files with 16 additions and 18 deletions
13
develop.md
13
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
|
||||
|
||||
<!---
|
||||
You can use the Docker CLI to promote builds from develop to latest. Make sure to adjust:
|
||||
|
||||
- $name
|
||||
|
@ -28,13 +29,25 @@ docker pull nextcloud/$AIO_NAME@sha256:$AIO_DIGEST
|
|||
docker tag nextcloud/$AIO_NAME@sha256:$AIO_DIGEST nextcloud/$AIO_NAME\:latest
|
||||
docker push nextcloud/$AIO_NAME\: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.
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue