Update docker-image.yml

This commit is contained in:
kromskii2 authored and GitHub committed 2024-12-31 11:27:47 +03:00
1 parent a6c9c9c002
commit c7ab8d0d23
1 file changed
+48 -15
+48 -15
View File
@@ -1,4 +1,4 @@
name: Build and Push Docker Image name: FaceSaver
on: on:
push: push:
@@ -7,23 +7,56 @@ on:
branches: [ "main" ] branches: [ "main" ]
jobs: jobs:
build-and-push: build-docker:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out # 1. Клонируем репозиторий
uses: actions/checkout@v4 - name: Checkout repository
uses: actions/checkout@v3
- name: Login to Docker Hub # 2. Кэшируем зависимости (npm, node_modules)
uses: docker/login-action@v2 - name: Cache
uses: actions/cache@v4.2.0
with: with:
registry: docker.io path: node_modules
username: ${{ secrets.DOCKERHUB_USERNAME }} key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
password: ${{ secrets.DOCKERHUB_TOKEN }} restore-keys: |
${{ runner.os }}-node-
- name: Build and push # 3. Устанавливаем Node.js (версия 18)
uses: docker/build-push-action@v4 - name: Setup Node.js environment
uses: actions/setup-node@v4.1.0
with: with:
context: . node-version: '18'
file: Dockerfile check-latest: true
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/my-image-name:latest # 4. Устанавливаем зависимости
- name: Install dependencies
run: npm install
# 5. Сборка проекта (замените команду при необходимости)
- name: Build project
run: npm run build
# 6. Сборка Docker-образа
- name: Build Docker image
run: docker build -t face-saver:latest .
# 7. (При необходимости) Запушить Docker-образ в реестр
# - name: Login to Docker Hub
# run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
#
# - name: Push Docker image
# run: docker push face-saver:latest
# 8. Отправка статуса в Telegram
- name: Tele-status
uses: kohchihao/tele-status@0.0.4
with:
# Chat ID
chat: "6677130873"
# Telegram Bot token
token: "7097410331:AAHdQNxfgE5q_N90KHizMwWWmtBVFdhVttw"
# Отправляем статус сборки
status: ${{ job.status }}