āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āļŦāļĢāļ·āļ­āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒāļāļēāļĢāļšāļđāļĢāļ“āļēāļāļēāļĢāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡/āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđāļĨāļ°āđ€āļ›āđ‡āļ™āļĢāļ°āļšāļšāļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļ›āđ‡āļ™āđ„āļ›āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āļ„āļ§āļēāļĄāļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­ āđāļĨāļ°āļāļēāļĢāļŠāđˆāļ‡āļĄāļ­āļšāļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§ āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡ CI/CD āļāļēāļĢāļšāļđāļĢāļ“āļēāļāļēāļĢāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ–āļķāļ‡āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāđƒāļ™āļāļēāļĢāļĢāļ§āļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒāļŦāļĢāļ·āļ­āļ‡āļēāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āđƒāļ™āļžāļ·āđ‰āļ™āļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļ™āļ­āļĒāđˆāļēāļ‡āļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļ‚āļąāļ”āđāļĒāđ‰āļ‡āļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆāļāļēāļĢāļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđ€āļ›āļīāļ”āļ•āļąāļ§āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ„āļļāļ“āļ āļēāļžāđāļĨāļ°āļžāļĢāđ‰āļ­āļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļœāļĨāļīāļ•āđ€āļ›āđ‡āļ™āđāļšāļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡ āļ—āļ”āļŠāļ­āļš āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰ āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ˜āļļāļĢāļāļīāļˆāļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļ•āļąāļ§āļ•āļēāļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ‡āļ•āļĨāļēāļ” āļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ‚āļ­āļ‡āļĨāļđāļāļ„āđ‰āļē āđāļĨāļ°āļŠāđˆāļ‡āļĄāļ­āļšāļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒāļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļ āļēāļžāđƒāļ™āļāļĢāļ­āļšāđ€āļ§āļĨāļēāļ—āļĩāđˆāļĨāļ”āļĨāļ‡

āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļŦāļĨāļēāļĒāļ‚āļąāđ‰āļ™āļ•āļ­āļ™ āđāļ•āđˆāļĨāļ°āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļļāļ“āļ āļēāļžāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđāļĨāļ°āđ€āļĢāđˆāļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđƒāļŦāđ‰āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļš āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰ āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš āđāļĨāļ°āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­āđāļ™āļ° āđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ āļ™āļąāļāļžāļąāļ’āļ™āļēāļˆāļ°āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āđāļĨāļ°āļĒāļ·āļ™āļĒāļąāļ™āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ„āļ›āļĒāļąāļ‡āļžāļ·āđ‰āļ™āļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļ™ āđ€āļŠāđˆāļ™ Git āļŦāļĢāļ·āļ­ SVN āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ CI āļ•āļĢāļ§āļˆāļžāļšāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļāđ‡āļšāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļ­āļąāļ›āđ€āļ”āļ• āđāļĨāļ°āļ„āļ­āļĄāđ„āļžāļĨāđŒāļ‹āļ­āļĢāđŒāļŠāđ‚āļ„āđ‰āļ”āļĨāļ‡āđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĢāļ·āļ­āđ„āļšāļ™āļēāļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āđ„āļ”āđ‰ āļŠāļĢāđ‰āļēāļ‡āļ­āļēāļĢāđŒāļ•āļīāđāļŸāļāļ•āđŒāļ—āļĩāđˆāļžāļĢāđ‰āļ­āļĄāļŠāļģāļŦāļĢāļąāļšāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ•āđˆāļ­āđ„āļ›āļ‚āļ­āļ‡āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ CI āļ—āļĩāđˆāđ‚āļ”āļ”āđ€āļ”āđˆāļ™ āđ„āļ”āđ‰āđāļāđˆ Jenkins, Gitlab CI āđāļĨāļ° CircleCI

āļŦāļĨāļąāļ‡āļˆāļēāļāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒāļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļŠāļļāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļšāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āļ„āļļāļ“āļ āļēāļžāđāļĨāļ°āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđ‚āļ„āđ‰āļ” āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āđƒāļ™āļĢāļ°āļ”āļąāļšāļ•āđˆāļēāļ‡āđ† āļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒ āļāļēāļĢāļšāļđāļĢāļ“āļēāļāļēāļĢ āļĢāļ°āļšāļš āđāļĨāļ°āļāļēāļĢāļĒāļ­āļĄāļĢāļąāļš āđ‚āļ”āļĒāļˆāļąāļ”āļāļēāļĢāļāļąāļšāļ›āļąāļāļŦāļēāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™ āđ€āļŠāđˆāļ™ āļ‚āđ‰āļ­āļšāļāļžāļĢāđˆāļ­āļ‡āļ”āđ‰āļēāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ āļ›āļąāļāļŦāļēāļ„āļ­āļ‚āļ§āļ”āļ‚āļ­āļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āļŠāđˆāļ­āļ‡āđ‚āļŦāļ§āđˆāļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒ āđāļĨāļ°āļ‚āđ‰āļ­āļāļąāļ‡āļ§āļĨāļ”āđ‰āļēāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļāļĢāļ­āļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļąāđˆāļ§āđ„āļ› āđ„āļ”āđ‰āđāļāđˆ JUnit, Selenium āđāļĨāļ° XCTest āđāļĨāļ°āļ­āļ·āđˆāļ™āđ† āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļ­āļĒāļđāđˆāļ—āļĩāđˆāļāļēāļĢāļĢāļąāļāļĐāļēāļŠāļļāļ”āļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ‹āļķāđˆāļ‡āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ‚āļ”āļĒāđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļē

āđ€āļĄāļ·āđˆāļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŠāļģāđ€āļĢāđ‡āļˆ āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļˆāļ°āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđ‚āļ”āļĒāđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒāļˆāļ°āļĒāđ‰āļēāļĒāđ„āļ›āļĒāļąāļ‡āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™ āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§ āļ‚āļąāđ‰āļ™āļāđˆāļ­āļ™āļāļēāļĢāļœāļĨāļīāļ• āđāļĨāļ°āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡ āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļšāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ°āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ‚āļ­āļ‡āļ­āļ‡āļ„āđŒāļāļĢ āļĨāļ”āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰ āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļžāļĢāđ‰āļ­āļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļāļēāļĢāļœāļĨāļīāļ• āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļē āđ€āļŠāđˆāļ™ Ansible, Puppet āđāļĨāļ° macOS āđ€āļžāļ·āđˆāļ­āļ—āļģāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļšāļ™āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāđāļĨāļ°āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ•āđˆāļēāļ‡āđ†

āđ€āļĄāļ·āđˆāļ­āļ›āļĢāļąāļšāđƒāļŠāđ‰āđāļĨāđ‰āļ§ āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļˆāļ°āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāđāļĨāļ°āļ•āļ­āļšāļĢāļąāļš āđ‚āļ”āļĒāļ—āļĩāđˆāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļĒāđˆāļēāļ‡ Prometheus, Grafana āļŦāļĢāļ·āļ­ New Relic āļˆāļ°āļĢāļ§āļšāļĢāļ§āļĄāļ•āļąāļ§āļŠāļĩāđ‰āļ§āļąāļ”āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāļŠāļģāļ„āļąāļ āļ•āļĢāļ§āļˆāļˆāļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”āļ›āļāļ•āļī āđāļĨāļ°āļĄāļ­āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŠāļīāļ‡āļĨāļķāļāļ­āļąāļ™āļĄāļĩāļ„āđˆāļēāđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ€āļŠāļ–āļĩāļĒāļĢāļ āļēāļž āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđāļĨāļ°āļ„āļ§āļēāļĄāļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļ‚āđ‰āļ­āļĄāļđāļĨāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ—āļĩāļĄāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāđ‚āļ”āļĒāļ­āļēāļĻāļąāļĒāļ‚āđ‰āļ­āļĄāļđāļĨ āļˆāļąāļ”āļāļēāļĢāļāļąāļšāļ‚āđ‰āļ­āļāļąāļ‡āļ§āļĨāļ‚āļ­āļ‡āļĨāļđāļāļ„āđ‰āļē āđāļĨāļ°āļˆāļąāļ”āļĨāļģāļ”āļąāļšāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđƒāļ™āļ­āļ™āļēāļ„āļ•

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āļ„āļ·āļ­āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ AppMaster āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ no-code āļ­āļąāļ™āļ—āļĢāļ‡āļžāļĨāļąāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒ āđ€āļ§āđ‡āļš āđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļ·āļ­āļ–āļ·āļ­ AppMaster āļ™āļģāđ€āļŠāļ™āļ­ CI/CD Pipeline āļ—āļĩāđˆāļĢāļēāļšāļĢāļ·āđˆāļ™āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļĢāđ‰āļēāļ‡āđ‚āļĄāđ€āļ”āļĨāļ‚āđ‰āļ­āļĄāļđāļĨ āļ•āļĢāļĢāļāļ°āļ—āļēāļ‡āļ˜āļļāļĢāļāļīāļˆ REST API āđāļĨāļ° endpoints WSS āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļ āļēāļž āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ āļĒāļąāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļĨāļđāļāļ„āđ‰āļēāļŠāļēāļĄāļēāļĢāļ–āļ­āļ­āļāđāļšāļš UI āļ—āļĩāđˆāļ•āļ­āļšāļŠāļ™āļ­āļ‡āđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹ drag-and-drop āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒ āļāļģāļŦāļ™āļ”āļ•āļĢāļĢāļāļ°āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āļ‹āļ­āļĢāđŒāļŠāđ‚āļ„āđ‰āļ”āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĢāļ°āļ”āļąāļšāļāļēāļĢāļœāļĨāļīāļ• āļˆāļēāļāļ™āļąāđ‰āļ™ AppMaster āļˆāļ°āļ„āļ­āļĄāđ„āļžāļĨāđŒ āļ—āļ”āļŠāļ­āļš āļˆāļąāļ”āļ—āļģāđāļžāđ‡āļ„āđ€āļāļˆ āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āļ‹āļ­āļĢāđŒāļŠāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļĨāļ‡āđƒāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ Docker āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđ€āļĢāđˆāļ‡āļāļēāļĢāļžāļąāļ’āļ™āļē āļāļēāļĢāļŠāđˆāļ‡āļĄāļ­āļš āđāļĨāļ°āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ

āļāļēāļĢāđƒāļŠāđ‰āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āđƒāļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āļŠāļđāđˆāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļļāļ“āļ āļēāļž āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§ āđāļĨāļ°āļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļāļēāļĢāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ—āļĩāļĄāļŠāļēāļĄāļēāļĢāļ–āļšāļđāļĢāļ“āļēāļāļēāļĢāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđƒāļŦāļĄāđˆāđ† āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļēāļšāļĢāļ·āđˆāļ™ āļ„āļēāļ”āļāļēāļĢāļ“āđŒāļ›āļąāļāļŦāļēāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļ™āļīāđˆāļ™āđ† āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒāđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ—āļĩāđˆāļŦāļĨāļēāļāļŦāļĨāļēāļĒ āļāļēāļĢāļ—āļģāđƒāļŦāđ‰āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ—āļĩāđˆāļŠāļģāļ„āļąāļāđ€āļ›āđ‡āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļœāđˆāļēāļ™āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āļ­āļ‡āļ„āđŒāļāļĢāļ•āđˆāļēāļ‡āđ† āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļĄāļēāļāļĄāļēāļĒāđƒāļ™āđāļ‡āđˆāļ‚āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļŦāļĒāļąāļ”āļ•āđ‰āļ™āļ—āļļāļ™ āļāļēāļĢāļ›āļĢāļ°āļŦāļĒāļąāļ”āđ€āļ§āļĨāļē āđāļĨāļ°āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļŠāļĢāļĢāļ„āđŒāļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡ āļ‹āļķāđˆāļ‡āļ—āđ‰āļēāļĒāļ—āļĩāđˆāļŠāļļāļ”āļˆāļ°āļĄāļĩāļ„āļ§āļēāļĄāđ„āļ”āđ‰āđ€āļ›āļĢāļĩāļĒāļšāļ—āļēāļ‡āļāļēāļĢāđāļ‚āđˆāļ‡āļ‚āļąāļ™āđƒāļ™āļ āļđāļĄāļīāļ—āļąāļĻāļ™āđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āļĄāļĩāļāļēāļĢāļžāļąāļ’āļ™āļēāļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§