diff --git a/.gitea/workflows/deploy-client.yaml b/.gitea/workflows/deploy-client.yaml index 2d0a2e3..db94468 100644 --- a/.gitea/workflows/deploy-client.yaml +++ b/.gitea/workflows/deploy-client.yaml @@ -1,2 +1,42 @@ -name: "Build and Deploy Client" +name: Build and Deploy Client + +run-name: "${{ gitea.event.head_commit.message }}: Deploy Client" + +on: + push: + #branches: + # - main + paths: + - "client/**" + - ".gitea/workflows/deploy-client.yaml" + +jobs: + build-and-deploy: + runs-on: debian12 + container: + image: git.vxbard.net/homeburger/bard-cpp-builder:1.0 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + # needs this in order to push to the registry + - name: Validate Registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.vxbard.net \ + -u ${{ secrets.REGISTRY_USERNAME }} \ + --password-stdin + + - name: Build image + run: | + docker build -t git.vxbard.net/homeburger/phish-client:latest ./client + + - name: Push + run: | + docker push git.vxbard.net/homeburger/phish-client:latest + + - name: Deploy + run: | + docker compose -f ./client/docker-compose.prod.yaml pull phish-client + docker compose -f ./client/docker-compose.prod.yaml up -d --force-recreate phish-client diff --git a/client/Dockerfile b/client/Dockerfile new file mode 100644 index 0000000..b8e7d9e --- /dev/null +++ b/client/Dockerfile @@ -0,0 +1,16 @@ + +# build angular app +FROM node:current-alpine AS build + +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . + +# serve app +EXPOSE 80 +CMD ["npm", "run", "start", "--", "--host", "0.0.0.0", "--poll", "2000"] + +# docker build -t phish-client:latest . +# docker tag phish-client:latest git.vxbard.net/homeburger/phish-client:1.0 +# docker push git.vxbard.net/homeburger/phish-client:1.0 diff --git a/client/docker-compose.prod.yaml b/client/docker-compose.prod.yaml new file mode 100644 index 0000000..550e002 --- /dev/null +++ b/client/docker-compose.prod.yaml @@ -0,0 +1,8 @@ + +services: + phish-client: + image: git.vxbard.net/homeburger/phish-client:latest + container_name: phish-client + restart: always + ports: + - "9000:80"