52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
name: Manual and Auto Deployment
|
||
on:
|
||
push:
|
||
branches: [main]
|
||
# Добавляем блок ручного запуска
|
||
workflow_dispatch:
|
||
inputs:
|
||
run_mode:
|
||
description: 'Что запустить?'
|
||
required: true
|
||
default: 'all'
|
||
type: choice
|
||
options:
|
||
- 'all'
|
||
- 'docker_only'
|
||
- 'msi_only'
|
||
|
||
jobs:
|
||
# 1. Работа с Docker (только если выбрано 'all' или 'docker_only')
|
||
docker-latest:
|
||
if: github.event_name == 'push' || github.event.inputs.run_mode == 'all' || github.event.inputs.run_mode == 'docker_only'
|
||
runs-on: docker-latest
|
||
container:
|
||
image: node:18-alpine
|
||
steps:
|
||
- name: docker ps
|
||
shell: bash
|
||
run: docker ps
|
||
|
||
# 2. Установка MSI на конкретный раннер
|
||
deploy_all:
|
||
if: github.event_name == 'push' || github.event.inputs.run_mode == 'all' || github.event.inputs.run_mode == 'msi_only'
|
||
strategy:
|
||
matrix:
|
||
target_runner: [K4012-KOA]
|
||
runs-on: ${{ matrix.target_runner }}
|
||
steps:
|
||
- name: Install MSI and Create Log
|
||
shell: powershell
|
||
run: |
|
||
Start-Process msiexec.exe -ArgumentList "/i C:\install\MAX.msi /qn /norestart" -Wait
|
||
"Installed successfully on $(hostname) at $(Get-Date)" | Out-File -FilePath "C:\install\git_MAX2.txt" -Encoding utf8
|
||
|
||
# 3. Установка на любой свободный self-hosted
|
||
install_single:
|
||
runs-on: [self-hosted, linux-amd64, kalugin66]
|
||
steps:
|
||
- name: bash
|
||
shell: bash
|
||
run: |
|
||
docker ps
|
||
docker ps -a |