1
1
name : Build Docker image
2
2
3
- on : pull_request
3
+ on :
4
+ push :
5
+ branches : [main]
4
6
5
7
jobs :
6
8
prepare :
28
30
runs-on : ubuntu-latest
29
31
needs : prepare
30
32
environment :
31
- name : dev
33
+ name : cloudops
32
34
outputs :
33
35
BUILD_TAG : ${{ steps.build-push.outputs.build-tag }}
34
36
@@ -44,17 +46,22 @@ jobs:
44
46
- name : Checkout
45
47
uses : actions/checkout@v2
46
48
47
- - name : Login to GCR
49
+ - name : Login to Docker Hub
48
50
uses : docker/login-action@v1
49
51
with :
50
- registry : gcr.io
51
- username : _json_key
52
- password : ${{ secrets.GCP_CREDENTIALS }}
52
+ username : ${{ secrets.DOCKERHUB_USERNAME }}
53
+ password : ${{ secrets.DOCKERHUB_TOKEN }}
53
54
54
- - name : Build and push to GCR
55
+ - name : Extract metadata (tags, labels) for Docker
56
+ id : meta
57
+ uses : docker/metadata-action@v3
58
+ with :
59
+ images : $GITHUB_REPOSITORY
60
+
61
+
62
+ - name : Build and push to Docker Hub
55
63
id : build-push
56
64
env :
57
- GCR_REGISTRY : gcr.io/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.GCP_APP_NAME }}/${{ secrets.GCP_GCR_REPO }}
58
65
IMAGE_TAG : ${{ needs.prepare.outputs.FULL_IMAGE_TAG }}
59
66
run : |
60
67
printf '{\n "commit": "%s",\n "version": "%s",\n "image_tag": "%s",\n "source": "%s",\n "build": "%s"\n}\n' \
63
70
"$IMAGE_TAG" \
64
71
"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" \
65
72
"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" > ./version.json
66
- docker build --file infra/Dockerfile -t $GCR_REGISTRY :$IMAGE_TAG .
67
- docker image tag $GCR_REGISTRY :$IMAGE_TAG $GCR_REGISTRY :latest
68
- docker push $GCR_REGISTRY :$IMAGE_TAG
69
- docker push $GCR_REGISTRY :latest
73
+ docker build --file infra/Dockerfile -t $GITHUB_REPOSITORY :$IMAGE_TAG .
74
+ docker image tag $GITHUB_REPOSITORY :$IMAGE_TAG $GITHUB_REPOSITORY :latest
75
+ docker push $GITHUB_REPOSITORY :$IMAGE_TAG
76
+ docker push $GITHUB_REPOSITORY :latest
70
77
echo "::set-output name=build-tag::$IMAGE_TAG"
71
78
echo "::debug::Set the build-tag output as $IMAGE_TAG"
0 commit comments