Добавил автодеплой
This commit is contained in:
parent
390d42119f
commit
e37f71bf2f
59
.gitea/workflows/gitea-push-docker.yml
Normal file
59
.gitea/workflows/gitea-push-docker.yml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
name: Create and publish a Docker image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["main"]
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: git.zetcraft.ru
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish image
|
||||||
|
container: catthehacker/ubuntu:act-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Log in to the Container registry
|
||||||
|
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
|
||||||
|
with:
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
username: ${{ gitea.actor }}
|
||||||
|
password: ${{ secrets.TOKEN }}
|
||||||
|
|
||||||
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
|
id: meta
|
||||||
|
uses: https://github.com/docker/metadata-action@v4
|
||||||
|
with:
|
||||||
|
images: ${{ env.REGISTRY }}/${{ gitea.repository }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
deploy:
|
||||||
|
needs: publish
|
||||||
|
name: Deploy image
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: install ssh keys
|
||||||
|
# check this thread to understand why its needed:
|
||||||
|
# <https://stackoverflow.com/a/70447517>
|
||||||
|
run: |
|
||||||
|
install -m 600 -D /dev/null ~/.ssh/id_rsa
|
||||||
|
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
||||||
|
ssh-keyscan -H ${{ secrets.SSH_HOST }} > ~/.ssh/known_hosts
|
||||||
|
- name: connect and pull
|
||||||
|
run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ${{ secrets.WORK_DIR }} && docker compose pull && docker compose up -d && docker image prune && exit"
|
||||||
|
- name: cleanup
|
||||||
|
run: rm -rf ~/.ssh
|
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM node:20-alpine3.17 AS builder
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
COPY public/ public/
|
||||||
|
COPY src/ src/
|
||||||
|
RUN npm ci
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM nginx:1.25.2-alpine
|
||||||
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
|
COPY --from=builder /app/build /usr/share/nginx/html
|
||||||
|
RUN touch /var/run/nginx.pid
|
||||||
|
RUN chown -R nginx:nginx /var/run/nginx.pid /usr/share/nginx/html /var/cache/nginx /var/log/nginx /etc/nginx/conf.d
|
||||||
|
USER nginx
|
||||||
|
EXPOSE 80
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
23
README.md
23
README.md
@ -1,2 +1,25 @@
|
|||||||
# FichaFrontend
|
# FichaFrontend
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d -p 85:80 \
|
||||||
|
--name FichaFrontend \
|
||||||
|
--restart=always \
|
||||||
|
-e TZ=Europe/Moscow \
|
||||||
|
git.zetcraft.ru/fichahackaton/fichafrontend:main
|
||||||
|
```
|
||||||
|
|
||||||
|
# Docker Compose
|
||||||
|
|
||||||
|
```yml
|
||||||
|
services:
|
||||||
|
sistemafrontend:
|
||||||
|
ports:
|
||||||
|
- '85:80'
|
||||||
|
container_name: FichaFrontend
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Moscow
|
||||||
|
image: 'git.zetcraft.ru/fichahackaton/fichafrontend:main'
|
||||||
|
```
|
9
nginx.conf
Normal file
9
nginx.conf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
server_tokens off;
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
location / {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html index.htm;
|
||||||
|
try_files $uri /index.html;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user