Update Article “2023-04-11-fabriquer-des-conteneurs-légers-depuis-une-ci-cd”

This commit is contained in:
Quentin 2023-04-11 14:28:42 +00:00
parent 575051a098
commit 90b9719009

View file

@ -197,8 +197,40 @@ crane push --index /tmp/oci/multi/ dxflrs/albatros:d9facbb79c4551d90359c46b9f5d4
On peut ensuite vérifier que notre image multi architecture est bien référencée sur le Docker Hub :
![](/assets/20230411_15h42m05s_grim.png)
## Envoyer notre image sur notre registre Garage
Tout d'abord on commence par envoyer l'index :
```bash
aws s3 cp \
--content-type 'application/vnd.oci.image.index.v1+json' \
index.json \
s3://registry.deuxfleurs.org/v2/albatros/manifests/0.9
```
Ensuite on envoie les manifests de chacune des images référencées dans l'index :
```bash
for m in $(jq -r '.manifests[] | .digest' index.json); do
f=$(echo $m | grep -Po '[0-9a-f]+$')
aws s3 cp \
--content-type 'application/vnd.oci.image.manifest.v1+json' \
/tmp/oci/multi/blobs/sha256/$f \
s3://registry.deuxfleurs.org/v2/albatros/manifests/$m
done
```
Ensuite on envoie les blobs :
```bash
for m in $(jq -r '.manifests[] | .digest' index.json); do
f=$(echo $m | grep -Po '[0-9a-f]+$')
for blob in $(jq -r '[ .config.digest ] + [ .layers[] | .digest ] | join(" ")' /tmp/oci/multi/blobs/sha256/$f); do
bf=$(echo $m | grep -Po '[0-9a-f]+$')
aws s3 cp /tmp/oci/multi/blobs/sha256/$bf s3://registry.deuxfleurs.org/v2/albatros/blobs/$blob
done
done
```
Et voilà !