Builder local #7
@@ -10,7 +10,21 @@ env: # Переменные окружения
|
|||||||
PLATFORMS: linux/amd64,linux/arm64
|
PLATFORMS: linux/amd64,linux/arm64
|
||||||
|
|
||||||
jobs: # Список выполняемых джоб
|
jobs: # Список выполняемых джоб
|
||||||
check-changes: # джоба проверки изменений в файлах
|
need-build: # джоба проверки изменений в файлах. При изменении пулит новые файлы и перезапускает контейнер
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
src_changed: ${{ steps.filter.outputs.src }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: dorny/paths-filter@v2
|
||||||
|
id: filter
|
||||||
|
with:
|
||||||
|
filters: |
|
||||||
|
src:
|
||||||
|
- 'docs/*'
|
||||||
|
- 'mkdocs.yml'
|
||||||
|
|
||||||
|
need-deploy: # джоба проверки изменений в зависимостях. Если requirements.txt был изменен, то будет выполнена сборка и пуш образа
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
src_changed: ${{ steps.filter.outputs.src }}
|
src_changed: ${{ steps.filter.outputs.src }}
|
||||||
@@ -24,8 +38,8 @@ jobs: # Список выполняемых джоб
|
|||||||
- 'requirements.txt'
|
- 'requirements.txt'
|
||||||
|
|
||||||
build: # джоба сборки и пуша образа. Выполняется если проверка изменений показала что requirements.txt был изменен
|
build: # джоба сборки и пуша образа. Выполняется если проверка изменений показала что requirements.txt был изменен
|
||||||
needs: check-changes
|
needs: need-build
|
||||||
if: needs.check-changes.outputs.src_changed == 'true'
|
if: needs.need-build.outputs.src_changed == 'true'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Login to Gitea Registry
|
- name: Login to Gitea Registry
|
||||||
@@ -54,3 +68,23 @@ jobs: # Список выполняемых джоб
|
|||||||
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
|
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: need-deploy
|
||||||
|
if: needs.need-build.outputs.src_changed == 'true'
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Deploy over SSH
|
||||||
|
uses: appleboy/ssh-action@v0.1.6
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USER }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
script: |
|
||||||
|
cd /home/ubadmin/mkdocs
|
||||||
|
git pull origin main
|
||||||
|
sudo docker compose down
|
||||||
|
sudo docker compose up -d --build
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
@startuml
|
||||||
|
!theme bluegray
|
||||||
|
|
||||||
|
title Схема доступа к Vm через Proxy
|
||||||
|
|
||||||
|
node "Proxy" as proxy
|
||||||
|
|
||||||
|
node "Master-1" as m1
|
||||||
|
node "Master-2" as m2
|
||||||
|
node "Master-3" as m3
|
||||||
|
|
||||||
|
node "Worker-1" as w1
|
||||||
|
node "Worker-2" as w2
|
||||||
|
node "Worker-3" as w3
|
||||||
|
|
||||||
|
node "Docker" as d1
|
||||||
|
|
||||||
|
proxy -down-> m1
|
||||||
|
proxy -down-> m2
|
||||||
|
proxy -down-> m3
|
||||||
|
|
||||||
|
proxy -down-> w1
|
||||||
|
proxy -down-> w2
|
||||||
|
proxy -down-> w3
|
||||||
|
|
||||||
|
proxy -down-> d1
|
||||||
|
@enduml
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
@startuml
|
||||||
|
!theme bluegray
|
||||||
|
|
||||||
|
title Схема Кластера Кубера
|
||||||
|
|
||||||
|
node "Proxy" as proxy
|
||||||
|
|
||||||
|
node "Мастер-ноды" {
|
||||||
|
[Master-1]
|
||||||
|
[Master-2]
|
||||||
|
[Master-3]
|
||||||
|
}
|
||||||
|
|
||||||
|
node "Воркер-ноды" {
|
||||||
|
[Worker-1]
|
||||||
|
[Worker-2]
|
||||||
|
[Worker-3]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
proxy --> [Master-1]
|
||||||
|
proxy --> [Master-2]
|
||||||
|
proxy --> [Master-3]
|
||||||
|
|
||||||
|
[Master-1] --> [Worker-1]
|
||||||
|
[Master-1] --> [Worker-2]
|
||||||
|
[Master-1] --> [Worker-3]
|
||||||
|
[Master-2] --> [Worker-1]
|
||||||
|
[Master-2] --> [Worker-2]
|
||||||
|
[Master-2] --> [Worker-3]
|
||||||
|
[Master-3] --> [Worker-1]
|
||||||
|
[Master-3] --> [Worker-2]
|
||||||
|
[Master-3] --> [Worker-3]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
||||||
@@ -22,8 +22,6 @@ theme:
|
|||||||
- navigation.instant
|
- navigation.instant
|
||||||
- navigation.instant.progress
|
- navigation.instant.progress
|
||||||
- navigation.sections
|
- navigation.sections
|
||||||
# - navigation.tabs
|
|
||||||
# - navigation.tabs.sticky
|
|
||||||
- navigation.path
|
- navigation.path
|
||||||
- navigation.top
|
- navigation.top
|
||||||
- navigation.prune
|
- navigation.prune
|
||||||
|
|||||||
Reference in New Issue
Block a user