Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ β€” Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ Π±Π°Π·, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, тСстированиСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΊΠ°ΠΌΠΈ послС Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² β€” Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Π°ΠΌ ΠΏΠΎΡ€Π° ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с 1C DevOps. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (CI) ΠΈ доставки (CD), Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ спСцифику ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘.

Π’ классичСском ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ DevOps β€” это ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π° взаимодСйствия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (Dev) ΠΈ систСмных администраторов (Ops), нацСлСнная Π½Π° ускорСниС выпуска ПО Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства. Но Π² ΠΌΠΈΡ€Π΅ 1Π‘ всС ΠΈΠ½Π°Ρ‡Π΅: здСсь Π½Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Kubernetes, Π·Π°Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ свои ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ β€” ΠΎΡ‚ управлСния вСрсиями ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π΄ΠΎ синхронизации Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ DevOps-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ примСняСтся Π² 1Π‘, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты для этого ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π‘ΠΏΠΎΠΉΠ»Π΅Ρ€: Ссли Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ DevOps Π² 1Π‘ β€” это ΠΏΡ€ΠΎ скрипты Π½Π° PowerShell ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹ сильно ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅ΡΡŒ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ‹ с тСстированиСм, Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡΡΡŒ Π΄Π°ΠΆΠ΅ с Git ΠΈ Jenkins. Но ΠΎΠ±ΠΎ всСм ΠΏΠΎ порядку.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ DevOps Π² контСкстС 1Π‘: ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ отличия ΠΎΡ‚ классичСского ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ DevOps ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ понятиями инфраструктуры ΠΊΠ°ΠΊ ΠΊΠΎΠ΄Π° (IaC), микросСрвисов ΠΈ оркСстрации ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π’ 1Π‘ всС устроСно ΠΈΠ½Π°Ρ‡Π΅:

  • πŸ”Ή ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°: конфигурация 1Π‘ β€” это Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (.cf ΠΈΠ»ΠΈ .cfu), Π° Π½Π΅ Π½Π°Π±ΠΎΡ€ нСзависимых сСрвисов. ОбновлСния Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ всю систСму Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.
  • πŸ”Ή БпСцифичСскиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ хранСния: вмСсто ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… .sql ΠΈΠ»ΠΈ .json Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ Π±Π°Π· (.dt).
  • πŸ”Ή Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Π²Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΈ самой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ (8.3.20 vs 8.3.22) Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° совмСстимости.
  • πŸ”Ή Π ΡƒΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€) Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Из-Π·Π° этих особСнностСй классичСскиС DevOps-инструмСнты (Ansible, Terraform) здСсь малоэффСктивны. ВмСсто Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСциализированныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ DevOps 1C DevOps
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ инфраструктурой Ρ‡Π΅Ρ€Π΅Π· Terraform/CloudFormation Автоматизация развСртывания Π±Π°Π· Ρ‡Π΅Ρ€Π΅Π· 1C:EDT ΠΈΠ»ΠΈ Vanessa-ADD
ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ с Docker Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ срСд с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈΠ»ΠΈ 1C:Fresh
CI/CD ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ‹ Π² GitHub Actions ΠΈΠ»ΠΈ GitLab CI Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° PowerShell/Bash + интСграция с Jenkins ΠΈΠ»ΠΈ TeamCity
ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ‡Π΅Ρ€Π΅Π· Prometheus + Grafana Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок Π² Π–ΡƒΡ€Π½Π°Π»Π΅ рСгистрации 1Π‘ + внСшниС Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅: Π² 1Π‘ DevOps начинаСтся с управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, Π° Π½Π΅ с инфраструктуры. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ β€” это Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, сравнСниС вСрсий ΠΈ тСстированиС ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ.

πŸ“Š Как Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ обновляСтС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘?
Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов Π½Π° PowerShell
Π§Π΅Ρ€Π΅Π· спСциализированныС инструмСнты (Vanessa-ADD, 1C:EDT)
НС обновляСм, Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ вСрсии

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ DevOps Π² 1Π‘: 5 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚

Если ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎ сих ΠΏΠΎΡ€ обновляСт Π±Π°Π·Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ тСстируСт измСнСния "Π½Π° ΠΊΠΎΠ»Π΅Π½ΠΊΠ΅", Π²Ρ‹ тСряСтС врСмя ΠΈ рискуСтС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ систСмы. Π’ΠΎΡ‚ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ 1C DevOps:

  1. "ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сломалась послС обновлСния" β€” отсутствуСт ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии. DevOps Ρ€Π΅ΡˆΠ°Π΅Ρ‚ это Ρ‡Π΅Ρ€Π΅Π· version control ΠΈ автоматичСскиС бэкапы ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ.
  2. "ВСстировщики Π½Π΅ ΡƒΡΠΏΠ΅Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ измСнСния" β€” Ρ€ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π½ΠΈ. АвтоматизированныС тСсты (Vanessa-Automation) ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ врСмя Π΄ΠΎ часов.
  3. "Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ измСнСния Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°" β€” Π½Π΅Ρ‚ систСмы контроля вСрсий. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Git ΠΈΠ»ΠΈ 1C:EDT фиксируСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.
  4. "Π”Π΅ΠΏΠ»ΠΎΠΉ Π½Π° Π±ΠΎΠ΅Π²ΡƒΡŽ Π±Π°Π·Ρƒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всю Π½ΠΎΡ‡ΡŒ" β€” Ρ€ΡƒΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ тормозят Ρ€Π΅Π»ΠΈΠ·Ρ‹. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ врСмя Π΄ΠΎ ΠΌΠΈΠ½ΡƒΡ‚.
  5. "НСпонятно, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° вносил измСнСния" β€” Π½Π΅Ρ‚ Π°ΡƒΠ΄ΠΈΡ‚Π°. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² CI/CD-систСмС фиксируСт ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: компания с 20 Π±Π°Π·Π°ΠΌΠΈ 1Π‘ Ρ‚Ρ€Π°Ρ‚ΠΈΠ»Π° 12 часов Π² нСдСлю Π½Π° Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. ПослС внСдрСния Jenkins + Vanessa-ADD это врСмя ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎ 1 часа β€” ΠΈ Π±Π΅Π· ошибок ΠΈΠ·-Π·Π° "чСловСчСского Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°".

πŸ’‘

НачнитС с ΠΌΠ°Π»ΠΎΠ³ΠΎ: Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ хотя Π±Ρ‹ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Git ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ‚ 1 дСнь, Π½ΠΎ спасСт вас ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ сбоС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли Π² вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ распрСдСлСнныС Π±Π°Π·Ρ‹ 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с синхронизациСй Ρ‡Π΅Ρ€Π΅Π· Π Π˜Π‘), автоматизация дСплоя Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ скрипты ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ особСнности Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для 1C DevOps: ΠΎΡ‚ скриптов Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ 1Π‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 3 ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

  • πŸ›  Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹: PowerShell, Bash, 1C:Enterprise Development Tools (EDT).
  • πŸ€– Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: Vanessa-ADD, 1C:Fresh, Gilex.
  • πŸ”„ CI/CD систСмы: Jenkins, TeamCity, GitLab CI (с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ для 1Π‘).

Рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

1. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° PowerShell/Bash

Π‘Π°ΠΌΡ‹ΠΉ простой способ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡:

  • πŸ“‚ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Designer.exe:
  • Start-Process -FilePath "C:\Program Files\1cv8\8.3.20.1500\bin\Designer.exe" -ArgumentList "/IBName `"`"Srvr=localhost;Ref=test`" `/DumpIB `"`"C:\backup\test.dt`"`" /N `"`"Администратор`"`" /P `"`"password`"`"" -Wait
  • πŸ”„ ОбновлСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹:
  • Start-Process -FilePath "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" -ArgumentList "ENTERPRISE /S `"`"Srvr=localhost;Ref=test`"`" /N `"`"Администратор`"`" /P `"`"password`"`" /C `"`"ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽΠ˜Π·Π€Π°ΠΉΠ»Π°; C:\updates\config.cfu`"`"" -Wait

ΠŸΠ»ΡŽΡΡ‹: бСсплатно, Π³ΠΈΠ±ΠΊΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° любом сСрвСрС. ΠœΠΈΠ½ΡƒΡΡ‹: Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания синтаксиса ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ скриптов.

2. Vanessa-ADD

Vanessa-ADD (Automated Deployment Driver) β€” это Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ дСплоя 1Π‘, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Vanessa. Он позволяСт:

  • πŸ“¦ Π£ΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ для дСплоя.
  • πŸ”„ ΠžΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π±Π°Π·Ρ‹ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ совмСстимости.
  • πŸ“Š Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.
  • πŸ›‘ Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ бэкапы ΠΏΠ΅Ρ€Π΅Π΄ обновлСниями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для обновлСния Π±Π°Π·Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Vanessa-ADD:

vanessa-add deploy --source="C:\configs\project.cfu" --target="Srvr=server;Ref=base" --user="Администратор" --password="pass"
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Vanessa-ADD ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ инструмСнт (лицСнзия ΠΎΡ‚ 50 000 β‚½/Π³ΠΎΠ΄), Π½ΠΎ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» окупаСтся ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с 5+ Π±Π°Π·Π°ΠΌΠΈ. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ…Π²Π°Ρ‚ΠΈΡ‚ скриптов.

3. 1C:EDT (Enterprise Development Tools)

1C:EDT β€” ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ 1Π‘, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚:

  • πŸ”— Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Git (Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² тСкстовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅).
  • πŸ” Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΈ статичСский Π°Π½Π°Π»ΠΈΠ·.
  • πŸ“¦ Π‘Π±ΠΎΡ€ΠΊΡƒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство β€” ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с послСдними вСрсиями ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠœΠΈΠ½ΡƒΡ β€” высокая Ρ†Π΅Π½Π° (ΠΎΡ‚ 30 000 β‚½ Π·Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ).

4. CI/CD систСмы (Jenkins, TeamCity)

Для построСния ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚:

  • πŸ”„ Jenkins с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ 1C (EDT) Plugin ΠΈΠ»ΠΈ Vanessa-ADD Plugin.
  • πŸ— TeamCity с кастомными Π±ΠΈΠ»Π΄-стСпами для 1Π‘.
  • πŸ™ GitLab CI (Ρ€Π΅ΠΆΠ΅ ΠΈΠ·-Π·Π° слоТности настройки для 1Π‘).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° Π² Jenkins:

  1. Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· Git.
  2. Π‘Π±ΠΎΡ€ΠΊΠ° Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π° (.cfu).
  3. Запуск автотСстов (Vanessa-Automation).
  4. Π”Π΅ΠΏΠ»ΠΎΠΉ Π½Π° Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ.
  5. Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Jenkinsfile для 1Π‘

pipeline {

agent any

stages {

stage('Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· Git') {

steps {

git 'https://gitlab.com/your-repo/1c-config.git'

}

}

stage('Π‘Π±ΠΎΡ€ΠΊΠ° CFU') {

steps {

bat '1C-EDT.exe --build --output=config.cfu'

}

}

stage('ВСстированиС') {

steps {

bat 'vanessa-automation run --tests="C:\tests\smoke.vst"'

}

}

}

}

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄: для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ…Π²Π°Ρ‚ΠΈΡ‚ PowerShell + Git, для срСдних β€” Vanessa-ADD, для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… β€” 1C:EDT + Jenkins.

Пошаговая инструкция: ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ для 1Π‘

Рассмотрим ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Git + PowerShell + Jenkins. Π­Ρ‚ΠΎΡ‚ сцСнарий ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· 3–5 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π¨Π°Π³ 1: Настройка рСпозитория для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

1. УстановитС Git Π½Π° сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° GitLab ΠΈΠ»ΠΈ Bitbucket).

3. Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‡Π΅Ρ€Π΅Π· 1C:EDT ΠΈΠ»ΠΈ configdump:

configdump.exe --source="Srvr=server;Ref=base" --output="C:\repo\config" --user="Администратор" --password="pass"

4. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Git:

cd C:\repo\config

git init

git add .

git commit -m "Initial commit"

git remote add origin https://gitlab.com/your-repo/1c-config.git

git push -u origin main

Π¨Π°Π³ 2: Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄Π²Π° скрипта:

  • export.ps1 β€” Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· Π±Π°Π·Ρ‹ Π² Git:
  • # ΠŸΡƒΡ‚ΠΈ ΠΊ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌ
    

    $ConfigDump = "C:\tools\configdump.exe"

    $RepoPath = "C:\repo\config"

    Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

    & $ConfigDump --source="Srvr=server;Ref=dev_base" --output=$RepoPath --user="Администратор" --password="pass"

    ΠšΠΎΠΌΠΌΠΈΡ‚ Π² Git

    cd $RepoPath

    git add .

    git commit -m "Автоэкспорт $(Get-Date -Format 'yyyy-MM-dd HH:mm')"

    git push

  • deploy.ps1 β€” Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· Git Π² Π±Π°Π·Ρƒ:
  • # ΠŸΡƒΡ‚ΠΈ ΠΊ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌ
    

    $ConfigLoad = "C:\tools\configload.exe"

    $RepoPath = "C:\repo\config"

    $BackupPath = "C:\backup\$(Get-Date -Format 'yyyy-MM-dd_HH-mm').dt"

    Бэкап Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹

    & "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" DESIGNER /IBName "Srvr=server;Ref=test_base" /DumpIB $BackupPath /N "Администратор" /P "pass"

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

    & $ConfigLoad --source=$RepoPath --target="Srvr=server;Ref=test_base" --user="Администратор" --password="pass"

Π¨Π°Π³ 3: Настройка Jenkins

1. УстановитС Jenkins ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ PowerShell Plugin.

2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½:

  • Π¨Π°Π³ 1: Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ export.ps1 (ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π² Git).
  • Π¨Π°Π³ 2: Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ автотСсты (Ссли Π΅ΡΡ‚ΡŒ).
  • Π¨Π°Π³ 3: Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ deploy.ps1 Π½Π° Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ.
  • Π¨Π°Π³ 4: ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π² Slack/Telegram.

УстановлСн Git Π½Π° сСрвСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π‘ΠΎΠ·Π΄Π°Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π’Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½Π° тСкущая конфигурация Π² тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

Написаны скрипты export.ps1 ΠΈ deploy.ps1

УстановлСн Jenkins с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ PowerShell

-->

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ Π±Π°Π·Ρ‹ 1Π‘ (Π° Π½Π΅ сСрвСрныС), скрипты дСплоя Π½ΡƒΠΆΠ½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π° обновлСния Π±ΡƒΠ΄Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ:

Start-Process -FilePath "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" -ArgumentList "CONFIG /F `"`"C:\bases\test.1CD`"`" /N `"`"Администратор`"`" /P `"`"pass`"`" /UpdateCf `"`"C:\updates\config.cfu`"`"" -Wait

Автоматизация тСстирования Π² 1Π‘: Vanessa-Automation ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Π‘Π΅Π· тСстирования автоматизация дСплоя опасна. Π’ экосистСмС 1Π‘ Π΅ΡΡ‚ΡŒ нСсколько инструмСнтов для автотСстов:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π’ΠΈΠΏ тСстов ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ
Vanessa-Automation Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅, рСгрСссионныС Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Jenkins, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° BSL ΠΈ JavaScript
1C:TestDriver ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ 1Π‘, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
xUnitFor1C ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ Open-source, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ настройки
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° BSL ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ БСсплатно, Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Рассмотрим Vanessa-Automation ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Π­Ρ‚ΠΎΡ‚ инструмСнт позволяСт:

  • πŸ“ ΠŸΠΈΡΠ°Ρ‚ΡŒ тСсты Π½Π° BSL (встроСнный язык 1Π‘) ΠΈΠ»ΠΈ JavaScript.
  • πŸ”„ Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ тСсты Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • πŸ“Š Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ Π² JUnit-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для Jenkins.
  • πŸ–₯ Π’Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ клиСнтскиС, Ρ‚Π°ΠΊ ΠΈ сСрвСрныС сцСнарии.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого тСста Π½Π° BSL для Vanessa-Automation:

// ВСст провСряСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ справочника "НомСнклатура"

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠ°ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°() Экспорт

// 1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ справочник

Команда = Новый ΠšΠΎΠΌΠ°Π½Π΄Π°ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура");

ПAttempt(Π˜ΡΡ‚ΠΈΠ½Π°, "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ справочник НомСнклатура");

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Vanessa.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠšΠΎΠΌΠ°Π½Π΄Ρƒ(Команда);

ПAttempt(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.УспСх, "Ошибка ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ справочника: " + Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.ОписаниСОшибки);

// 2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π°ΡΡŒ

Π€ΠΎΡ€ΠΌΠ° = Vanessa.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽΠ€ΠΎΡ€ΠΌΡƒ();

ПAttempt(Π€ΠΎΡ€ΠΌΠ°.Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹ = "Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура", "ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Π° нСвСрная Ρ„ΠΎΡ€ΠΌΠ°: " + Π€ΠΎΡ€ΠΌΠ°.Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСсты Π² ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½:

  1. УстановитС Vanessa-Automation Π½Π° сСрвСр тСстирования.
  2. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ тСсты ΠΈ сохранитС ΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠ°ΠΏΠΊΡƒ tests).
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ шаг Π² Jenkins для запуска тСстов:
  4. vanessa-automation run --tests="C:\repo\tests\*.vst" --report="C:\reports\test-results.xml"
  5. НастройтС увСдомлСния ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ тСстов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Telegram Bot).
πŸ’‘

АвтотСсты Π² 1Π‘ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НапримСр, тСст Π½Π° врСмя открытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ выполнСния ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ рСгрСссии.

РаспространСнныС ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Автоматизация Π² 1Π‘ часто сталкиваСтся с ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ камнями. Π’ΠΎΡ‚ TOP-5 ошибок ΠΈ способы ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ:

  1. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ бэкапов ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ

    Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚: ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Π° "сломаСтся", Π° ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΊΡƒΠ΄Π°.

    РСшСниС: всСгда Π΄Π΅Π»Π°ΠΉΡ‚Π΅ бэкап ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

    1cv8.exe DESIGNER /IBName "Srvr=server;Ref=base" /DumpIB "C:\backup\base_$(Get-Date -Format 'yyyy-MM-dd_HH-mm').dt" /N "Администратор" /P "pass"
  2. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ тСстовой срСды

    Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚: измСнСния дСплоятся сразу Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½, Π³Π΄Π΅ ΠΈΡ… видят ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.

    РСшСниС: Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ (ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС) ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉΡ‚Π΅ Ρ‚ΡƒΠ΄Π° сначала.

  3. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ вСрсий ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ

    Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚: Π΄Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ измСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°Ρ‚ΠΈΡ€Π°ΡŽΡ‚ΡΡ.

    РСшСниС: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Git ΠΈ настройтС ΠΏΡ€Π°Π²ΠΈΠ»Π° слияния (merge) ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

  4. ΠΠ΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

    Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚: конфигурация, разработанная Π½Π° 8.3.22, Π½Π΅ загрузится Π² Π±Π°Π·Ρƒ Π½Π° 8.3.20.

    РСшСниС: фиксируйтС Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ вСрсии Π½Π° всСх срСдах.

  5. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° послС дСплоя

    Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚: ошибки обнаруТатся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π°Ρ‡Π½ΡƒΡ‚ ΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

    РСшСниС: настройтС сбор Π»ΠΎΠ³ΠΎΠ² ΠΈΠ· Π–ΡƒΡ€Π½Π°Π»Π° рСгистрации 1Π‘ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ… послС Ρ€Π΅Π»ΠΈΠ·ΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ распрСдСлСнныС Π±Π°Π·Ρ‹ 1Π‘ (Π Π˜Π‘), автоматизация дСплоя Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ скрипты Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ. Π’ этом случаС:

  • Π‘Π½Π°Ρ‡Π°Π»Π° обновляйтС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ RIBTool для управлСния Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ.

DevOps для 1Π‘ Π² ΠΎΠ±Π»Π°ΠΊΠ΅: 1C:Fresh ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Если ваша инфраструктура Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π² ΠΎΠ±Π»Π°ΠΊΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1C:Fresh, Yandex Cloud ΠΈΠ»ΠΈ AWS), ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ мСняСтся. Рассмотрим ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности.

1. 1C:Fresh

1C:Fresh β€” это SaaS-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΡ‚ 1Π‘, Π³Π΄Π΅ Π±Π°Π·Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°. Π—Π΄Π΅ΡΡŒ DevOps ΠΈΠΌΠ΅Π΅Ρ‚ ограничСния:

  • βœ… ΠŸΠ»ΡŽΡΡ‹:
    • πŸ”„ АвтоматичСскиС бэкапы ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹.
    • πŸ“ˆ ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ (ΠΌΠΎΠΆΠ½ΠΎ быстро Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ мощности).
    • πŸ›‘ ВстроСнная Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS ΠΈ вирусов.
  • ❌ ΠœΠΈΠ½ΡƒΡΡ‹:
    • πŸ”’ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ сСрвСру (нСльзя Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ свои скрипты Π½Π° сторонС 1Π‘).
    • πŸ“¦ НСт прямого доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π±Π°Π·Ρ‹ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· API).
    • πŸ’° ΠŸΠ»Π°Ρ‚Π½Π°Ρ подписка (ΠΎΡ‚ 1 500 β‚½/мСсяц Π·Π° Π±Π°Π·Ρƒ).

Как Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с 1C:Fresh:

  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ API 1C:Fresh для управлСния Π±Π°Π·Π°ΠΌΠΈ (докумСнтация: https://api.freshplatform.ru).
  • πŸ“¦ Для дСплоя ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ примСняйтС Vanessa-ADD с Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°ΠΌΠΈ для ΠΎΠ±Π»Π°ΠΊΠ°.
  • πŸ€– НастройтС Π²Π΅Π±Ρ…ΡƒΠΊΠΈ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с GitLab ΠΈΠ»ΠΈ Jenkins.

2. ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвСры (Yandex Cloud, AWS, Azure)

Если Π²Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ 1Π‘ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π² ΠΎΠ±Π»Π°ΠΊΠ΅, Ρƒ вас большС свободы:

  • πŸ“¦ МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Vanessa-ADD, 1C:EDT ΠΈ Jenkins Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.
  • πŸ”„ ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСрвСров 1Π‘ ΠΏΡ€ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Yandex Compute Cloud).
  • πŸ›‘ ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ снимки (snapshots).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π² Yandex Cloud:

  1. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина с 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ PostgreSQL.
  2. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π’Πœ для Jenkins ΠΈ Vanessa-Automation.
  3. Object Storage для хранСния бэкапов ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ².
  4. Monitoring (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Yandex Monitoring) для отслСТивания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. НапримСр, Ссли ваши Π±Π°Π·Ρ‹ ΠΈ сСрвСр CI/CD находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π·ΠΎΠ½Π°Ρ… доступности, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎ (ΠΎΡ‚ 1 β‚½/Π“Π‘ Π² Yandex Cloud). Π Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ Π·ΠΎΠ½Π΅.

FAQ: ЧастыС вопросы ΠΏΠΎ 1C DevOps

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git для хранСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ 1Π‘?

Π”Π°, Π½ΠΎ Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

  • 1C:EDT (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅),
  • configdump (ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΎΡ‚ сообщСства),
  • Vanessa-ADD (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Git).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ:

configdump.exe --source="Srvr=server;Ref=base" --output="C:\repo\config" --format=txt

Π’Π°ΠΆΠ½ΠΎ: Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (.cf, .cfu) Π² Git β€” ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‚ΡΡ слиянию (merge).

Как Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°Π· 1Π‘?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²: