File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- name : CD
1+ name : Continuous Deployment
22
33permissions :
44 contents : read
5+ id-token : write
56
67on :
78 push :
89 branches : ["main"]
10+ tags : ["v*"]
911 workflow_dispatch :
1012
1113jobs :
1214 deploy-to-registry :
1315 runs-on : ubuntu-latest
1416 environment : production
1517 steps :
18+ - name : Checkout repository code
19+ uses : actions/checkout@v6
20+
21+ - name : Install Cosign
22+ uses : sigstore/cosign-installer@v4.1.2
23+
1624 - name : Login to container registry
17- uses : docker/login-action@v3
25+ uses : docker/login-action@v4
1826 with :
1927 registry : ${{ vars.REGISTRY_HOSTNAME }}
2028 username : ${{ secrets.HARBOR_USERNAME }}
2129 password : ${{ secrets.HARBOR_PASSWORD }}
2230
23- - name : Checkout repository code
24- uses : actions/checkout@v4
25-
2631 - name : Run deploy script
2732 run : ./deploy.sh
Original file line number Diff line number Diff line change 11#! /bin/bash
22
3- NAMESPACE=' liveseries'
3+ REGISTRY_HOSTNAME=" ${REGISTRY_HOSTNAME:- registry.guzek.uk} "
4+ PROJECT_NAME=' liveseries'
45
56for dockerfile in ./Dockerfile.* ; do
67 repository=${dockerfile# ./ Dockerfile.}
7- tag=" registry.guzek.uk/$NAMESPACE /$repository :latest"
8- # DOCKER_TOKEN=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:$NAMESPACE/$repository:pull" | jq -r '.token')
9- # REMOTE_MANIFEST=$(curl -sH "Authorization: Bearer $DOCKER_TOKEN" "https://registry.hub.docker.com/v2/$NAMESPACE/$repository/manifests/latest" | jq -r .layers[0].digest)
10- # LOCAL_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$tag" | cut -d '@' -f 2)
8+ tag=" $REGISTRY_HOSTNAME /$PROJECT_NAME /$repository :latest"
119
1210 echo " Building $repository ..."
1311 build_output=$( docker build -t " $tag " -f " $dockerfile " . 2>&1 )
@@ -19,6 +17,8 @@ for dockerfile in ./Dockerfile.*; do
1917 if [[ " $cached_steps " -lt " $total_steps " || $1 = " --force" ]]; then
2018 echo " Pushing image..."
2119 docker push " $tag "
20+ digest=$( docker image inspect " $tag " --format ' {{index .RepoDigests 0}}' | grep " ^$REGISTRY_HOSTNAME /" )
21+ cosign sign --yes " $digest "
2222 else
2323 echo " Skipping push."
2424 fi
You can’t perform that action at this time.
0 commit comments