mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Use buildx imagetools create to create a multi platform image
This commit is contained in:
parent
e2179085ab
commit
2a935cd538
@ -315,8 +315,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
cd $(Build.SourcesDirectory)/docker/
|
cd $(Build.SourcesDirectory)/docker/
|
||||||
docker build --no-cache --platform linux/amd64 -f Dockerfile -t yacreaderlibraryserver:develop-amd64 .
|
docker build --no-cache --platform linux/amd64 -f Dockerfile -t yacreader/yacreaderlibraryserver:develop-amd64 .
|
||||||
docker save yacreaderlibraryserver:develop-amd64 -o $(Build.ArtifactStagingDirectory)/amd64.tar
|
docker save yacreader/yacreaderlibraryserver:develop-amd64 -o $(Build.ArtifactStagingDirectory)/amd64.tar
|
||||||
displayName: 'Build amd64 Image and Save as Artifact'
|
displayName: 'Build amd64 Image and Save as Artifact'
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
inputs:
|
inputs:
|
||||||
@ -339,8 +339,8 @@ jobs:
|
|||||||
cd $(Build.SourcesDirectory)/docker/
|
cd $(Build.SourcesDirectory)/docker/
|
||||||
docker buildx create --use
|
docker buildx create --use
|
||||||
docker buildx inspect --bootstrap
|
docker buildx inspect --bootstrap
|
||||||
docker buildx build --no-cache --platform linux/arm64 -f Dockerfile.aarch64 -t yacreaderlibraryserver:develop-arm64 --load .
|
docker buildx build --no-cache --platform linux/arm64 -f Dockerfile.aarch64 -t yacreader/yacreaderlibraryserver:develop-arm64 --load .
|
||||||
docker save yacreaderlibraryserver:develop-arm64 -o $(Build.ArtifactStagingDirectory)/arm64.tar
|
docker save yacreader/yacreaderlibraryserver:develop-arm64 -o $(Build.ArtifactStagingDirectory)/arm64.tar
|
||||||
displayName: 'Build arm64 Image and Save as Artifact'
|
displayName: 'Build arm64 Image and Save as Artifact'
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
inputs:
|
inputs:
|
||||||
@ -386,16 +386,18 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
docker login -u $(dockerUser) -p $(dockerPassword)
|
docker login -u $(dockerUser) -p $(dockerPassword)
|
||||||
|
|
||||||
docker load -i $(Build.ArtifactStagingDirectory)/amd64.tar
|
for arch in amd64 arm64; do
|
||||||
docker load -i $(Build.ArtifactStagingDirectory)/arm64.tar
|
docker load -i $(Build.ArtifactStagingDirectory)/${arch}.tar
|
||||||
docker manifest create yacreaderlibraryserver:develop \
|
docker push yacreader/yacreaderlibraryserver:develop-${arch}
|
||||||
--amend yacreaderlibraryserver:develop-amd64 \
|
rm $(Build.ArtifactStagingDirectory)/${arch}.tar
|
||||||
--amend yacreaderlibraryserver:develop-arm64
|
done
|
||||||
docker manifest inspect yacreaderlibraryserver:develop
|
|
||||||
rm $(Build.ArtifactStagingDirectory)/amd64.tar
|
|
||||||
rm $(Build.ArtifactStagingDirectory)/arm64.tar
|
|
||||||
|
|
||||||
docker manifest push yacreader/yacreaderlibraryserver:develop
|
docker buildx create --use
|
||||||
|
|
||||||
|
docker buildx imagetools create \
|
||||||
|
-t yacreader/yacreaderlibraryserver:develop \
|
||||||
|
yacreader/yacreaderlibraryserver:develop-amd64 \
|
||||||
|
yacreader/yacreaderlibraryserver:develop-arm64
|
||||||
displayName: 'Push Docker manifest to develop tag'
|
displayName: 'Push Docker manifest to develop tag'
|
||||||
- task: GitHubRelease@1
|
- task: GitHubRelease@1
|
||||||
inputs:
|
inputs:
|
||||||
@ -445,17 +447,24 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
docker login -u $(dockerUser) -p $(dockerPassword)
|
docker login -u $(dockerUser) -p $(dockerPassword)
|
||||||
|
|
||||||
docker load -i $(Build.ArtifactStagingDirectory)/amd64.tar
|
for arch in amd64 arm64; do
|
||||||
docker load -i $(Build.ArtifactStagingDirectory)/arm64.tar
|
docker load -i $(Build.ArtifactStagingDirectory)/${arch}.tar
|
||||||
docker manifest create yacreaderlibraryserver:latest \
|
docker tag yacreader/yacreaderlibraryserver:develop-${arch} yacreader/yacreaderlibraryserver:latest-${arch}
|
||||||
--amend yacreaderlibraryserver:develop-amd64 \
|
docker push yacreader/yacreaderlibraryserver:latest-${arch}
|
||||||
--amend yacreaderlibraryserver:develop-arm64
|
rm $(Build.ArtifactStagingDirectory)/${arch}.tar
|
||||||
docker manifest inspect yacreaderlibraryserver:latest
|
done
|
||||||
rm $(Build.ArtifactStagingDirectory)/amd64.tar
|
|
||||||
rm $(Build.ArtifactStagingDirectory)/arm64.tar
|
|
||||||
docker tag yacreaderlibraryserver:latest yacreaderlibraryserver:$(VERSION)
|
|
||||||
|
|
||||||
docker manifest push yacreaderlibraryserver:latest
|
docker buildx create --use
|
||||||
|
|
||||||
|
docker buildx imagetools create \
|
||||||
|
-t yacreader/yacreaderlibraryserver:latest \
|
||||||
|
yacreader/yacreaderlibraryserver:latest-amd64 \
|
||||||
|
yacreader/yacreaderlibraryserver:latest-arm64
|
||||||
|
|
||||||
|
docker buildx imagetools create \
|
||||||
|
-t yacreader/yacreaderlibraryserver:$(VERSION) \
|
||||||
|
yacreader/yacreaderlibraryserver:latest-amd64 \
|
||||||
|
yacreader/yacreaderlibraryserver:latest-arm64
|
||||||
displayName: 'Push Docker manifest with latest and VERSION tags'
|
displayName: 'Push Docker manifest with latest and VERSION tags'
|
||||||
- task: GitHubRelease@1
|
- task: GitHubRelease@1
|
||||||
inputs:
|
inputs:
|
||||||
|
Loading…
Reference in New Issue
Block a user