4
4
push :
5
5
branches : [ master ]
6
6
7
+ env :
8
+ REGISTRY : podverse
9
+ IMAGE_NAME : podverse_web
10
+
7
11
jobs :
8
12
build :
9
13
runs-on : ubuntu-latest
10
14
11
15
steps :
12
- - uses : actions/checkout@v2
16
+ - uses : actions/checkout@v4
13
17
14
18
- name : Read node from package.json
15
19
uses : culshaw/read-package-node-version-actions@v1
@@ -23,36 +27,17 @@ jobs:
23
27
message : " Deploying podverse-web ${{ steps.package-node-version.outputs.version }} to prod..."
24
28
server : ${{ secrets.MATRIX_SERVER }}
25
29
26
- - name : build and push docker image
27
- uses : docker/build-push- action@v4
30
+ - name : Log in to the Container registry
31
+ uses : docker/login- action@v3
28
32
with :
29
33
username : ${{ secrets.DOCKER_USERNAME }}
30
34
password : ${{ secrets.DOCKER_PASSWORD }}
31
- repository : podverse/podverse_web
32
- tags : latest,${{ steps.package-node-version.outputs.version }}
33
35
34
- - name : Tailscale
35
- uses : tailscale/github-action@main
36
- with :
37
- authkey : ${{ secrets.TAILSCALE_AUTHKEY }}
38
-
39
- - name : log into prod, then deploy latest prod image
40
- uses : appleboy/ssh-action@master
41
- with :
42
- host : ${{ secrets.PROD_SSH_HOST }}
43
- username : ${{ secrets.PROD_SSH_USERNAME }}
44
- key : ${{ secrets.PROD_SSH_PRIVATE_KEY }}
45
- command_timeout : 60m
46
- script : |
47
- docker stop podverse_web_prod
48
- docker rm podverse_web_prod
49
- docker image rm podverse/podverse_web:latest
50
- docker compose -f /opt/podverse-ops/docker-compose/prod/srv/docker-compose.yml up --quiet-pull -d podverse_web
51
-
52
- - name : send deploy finished message to Matrix Alerts room
53
-
36
+ - name : build and push docker image
37
+ id : push
38
+ uses : docker/build-push-action@v5
54
39
with :
55
- room_id : ${{ secrets.MATRIX_ALERTS_ROOM_ID }}
56
- access_token : ${{ secrets.MATRIX_ACCESS_TOKEN }}
57
- message : " podverse-web ${{ steps.package-node-version.outputs.version }} has finished deploying to prod 🎉 "
58
- server : ${{ secrets.MATRIX_SERVER }}
40
+ context : .
41
+ push : true
42
+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
43
+ tags : latest, ${{ steps.package-node-version.outputs.version }}
0 commit comments