ΠΠ΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ GitVerse CI/CD Π²ΠΎΡΠΊΡΠ»ΠΎΡ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ Docker-ΠΎΠ±ΡΠ°Π·Π°. ΠΠ°ΠΆΠ΄ΡΠΉ workflow ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²ΠΎΡΠΊΡΠ»ΠΎΡ
- Cloud.ru - ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΈΠΊΠ»: ΡΠ±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π·Π° + ΠΏΡΡ Π² Artifact Registry Cloud.ru ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Container Apps (cloud.ru);
- Kubernetes - Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Kubernetes ΡΠ΅ΡΠ΅Π·
kubectl.
ΠΠ±ΡΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
Π‘Π΅ΠΊΡΠ΅ΡΡ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π²ΠΎΡΠΊΡΠ»ΠΎΡ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ:
| Π‘Π΅ΠΊΡΠ΅Ρ | ΠΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
CLOUD_RU_REGISTRY | container-app | ΠΠ΄ΡΠ΅Ρ ΡΠ΅Π΅ΡΡΡΠ°: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, registry.cloud.ru |
CLOUD_RU_USERNAME | container-app, Π²ΡΠ΅ push/login | ΠΠΎΠ³ΠΈΠ½ ΠΎΡ cloud.ru |
CLOUD_RU_PASSWORD | container-app, Π²ΡΠ΅ push/login | ΠΠ°ΡΠΎΠ»Ρ / ΡΠΎΠΊΠ΅Π½ ΠΎΡ cloud.ru |
CLOUD_RU_PROJECT_ID | container-app | ID ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² cloud.ru |
KUBE_CONFIG | k8s | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ~/.kube/config |
KUBE_INGRESS_IP | k8s | ΠΠ½Π΅ΡΠ½ΠΈΠΉ IP Ingress-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° |
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
- ΠΡΠ΅ Π²ΠΎΡΠΊΡΠ»ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ:
- ΡΡΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ (
workflow_dispatch); - ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΠΎΡΠΊΡΠ»ΠΎΡ.
- ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ:
- docker-ΠΎΠ±ΡΠ°Π· ΡΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ΅Π΅ΡΡΡΠ΅;
- Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
gitverse.ru/actions/gitverse_hello:kaniko_cli;
- Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΡΠ΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π³ΠΎΡΠΎΠ²Π° (K8s Π΄ΠΎΡΡΡΠΏΠ΅Π½, Container App Π½Π°ΡΡΡΠΎΠ΅Π½).