diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..dc767a3 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,32 @@ +name: Test +on: + push: +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Download sources + uses: actions/checkout@v4 + - name: Set up NodeJS + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + cache-dependency-path: frontend/package-lock.json + - name: Install frontend dependencies + run: | + cd frontend + npm install + - name: Build frontend + run: | + cd frontend + npm run build + - name: Start frontend + run: | + docker compose up --detach + - name: Wait for frontend + uses: docker://benel/wait-for-response:1 + with: + args: http://localhost/ 200 30000 500 + - name: Watch frontend initial payload + run: curl --silent localhost \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e252cec --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +services: + static_hosting: + image: nginx + volumes: + - ./frontend/dist:/usr/share/nginx/html:ro + - ./settings/nginx.conf:/etc/nginx/conf.d/default.conf:ro + ports: + - 80:80 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..22bf9d9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "Timy", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/settings/nginx.conf b/settings/nginx.conf new file mode 100644 index 0000000..1af1f05 --- /dev/null +++ b/settings/nginx.conf @@ -0,0 +1,6 @@ +server { + location / { + root /usr/share/nginx/html; + try_files $uri /index.html; #Emulate multi-page app + } +} \ No newline at end of file