Skip to content

Commit 84eb2f3

Browse files
committed
Updated build script
1 parent 2a50642 commit 84eb2f3

File tree

1 file changed

+41
-33
lines changed

1 file changed

+41
-33
lines changed

.github/workflows/build-and-deploy.yml

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,48 @@ name: Build & Deploy
22
on:
33
push:
44
branches:
5-
- master
5+
- master
6+
7+
env:
8+
REGISTRY: ghcr.io
9+
IMAGE_NAME: ${{ github.repository }}
10+
611
jobs:
712
docker:
813
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
packages: write
917
steps:
10-
- name: Build container
11-
id: docker_build
12-
uses: docker/build-push-action@v2
13-
with:
14-
load: true
15-
tags: insektionen/control-app:latest
16-
build-args: |
17-
"ARG_USERNAME=${{secrets.DB_USERNAME}}"
18-
"ARG_PASSWORD=${{secrets.DB_PASSWORD}}"
19-
"ARG_CLUSTER=${{secrets.DB_CLUSTER}}"
20-
"ARG_DATABASE=${{secrets.DB_DATABASE}}"
21-
"ARG_API_URL=${{secrets.NEXT_PUBLIC_API_URL}}"
22-
"ARG_MQTT_URL=${{secrets.MQTT_URL}}"
23-
- name: Export container
24-
run: docker save insektionen/control-app:latest | gzip > control-app_latest.tar.gz
25-
- name: Copy to Server
26-
uses: appleboy/scp-action@master
27-
with:
28-
host: ${{ secrets.SSH_HOST }}
29-
username: ${{ secrets.SSH_USERNAME }}
30-
key: ${{ secrets.SSH_KEY }}
31-
port: 22
32-
source: "control-app_latest.tar.gz"
33-
target: "~/"
34-
- name: Import and start on Server
35-
uses: appleboy/ssh-action@master
36-
with:
37-
host: ${{ secrets.SSH_HOST }}
38-
username: ${{ secrets.SSH_USERNAME }}
39-
key: ${{ secrets.SSH_KEY }}
40-
port: 22
41-
script: docker load < control-app_latest.tar.gz && cd control-app && docker-compose up -d
18+
- name: Login to GitHub Container Registry
19+
uses: docker/login-action@v3
20+
with:
21+
registry: ghcr.io
22+
username: ${{ github.actor }}
23+
password: ${{ secrets.GITHUB_TOKEN }}
24+
- name: Extract metadata (tags, labels) for Docker
25+
id: meta
26+
uses: docker/metadata-action@v5
27+
with:
28+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
29+
- name: Build container
30+
uses: docker/build-push-action@v5
31+
with:
32+
push: true
33+
tags: ${{ steps.meta.outputs.tags }}
34+
labels: ${{ steps.meta.outputs.labels }}
35+
build-args: |
36+
"ARG_USERNAME=${{secrets.DB_USERNAME}}"
37+
"ARG_PASSWORD=${{secrets.DB_PASSWORD}}"
38+
"ARG_CLUSTER=${{secrets.DB_CLUSTER}}"
39+
"ARG_DATABASE=${{secrets.DB_DATABASE}}"
40+
"ARG_API_URL=${{secrets.NEXT_PUBLIC_API_URL}}"
41+
"ARG_MQTT_URL=${{secrets.MQTT_URL}}"
42+
# - name: Import and start on Server
43+
# uses: appleboy/ssh-action@master
44+
# with:
45+
# host: ${{ secrets.SSH_HOST }}
46+
# username: ${{ secrets.SSH_USERNAME }}
47+
# key: ${{ secrets.SSH_KEY }}
48+
# port: 22
49+
# script: cd control-app && docker compose up -d --pull

0 commit comments

Comments
 (0)