āļāļēāļĢāļāļđāļĢāļāļēāļāļēāļĢāļāļĒāđāļēāļāļāđāļāđāļāļ·āđāļāļ (CI) āļāļ·āļāđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāđāļāļāļēāļĢāļāļąāļāļāļēāļāļāļāļāđāđāļ§āļĢāđāļāļĩāđāđāļāļĩāđāļĒāļ§āļāđāļāļāļāļąāļāļāļēāļĢāļĢāļ§āļĄāđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāļāļāļāļāļēāļĢāđāļāđāđāļāđāļāđāļāļĨāļāđāļāļāļĩāđāđāļāđāļāđāļāđāļāļŠāđāļ§āļāļāļĨāļēāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī āļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāļŦāļĨāļąāļāļāļāļāđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļ·āļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļĢāļāļđāļĢāļāļēāļāļēāļĢāđāļĨāļ°āļāļąāļāļŦāļēāļāļĩāđāļāļēāļāđāļāļīāļāļāļķāđāļāđāļāļĒāđāļĢāđāļ§āļāļĩāđāļŠāļļāļāđāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļąāļāļāļē CI āļŠāđāļāđāļŠāļĢāļīāļĄāđāļāļ§āļāļīāļāđāļāļāļēāļĢāļĢāļ§āļĄāļŠāđāļ§āļāļŠāļāļąāļāļŠāļāļļāļāđāļāđāļāđāļāđāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļāļģāļāļ§āļāļāđāļāļĒāđāļĨāļ°āļāđāļāļĒāļāļĢāļąāđāļāđāļāļĒāļŠāļĄāļēāļāļīāļāļāļāļāļāļĩāļĄāļāļąāļāļāļē āļāļąāļāļāļąāđāļāļāļķāļāļāđāļāļāļāļąāļāļāļ§āļēāļĄāļāļąāļāļāđāļāļāđāļĨāļ°āļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļāļāļĩāđāđāļāļīāļāļāļēāļāđāļāļ§āļāļēāļāļāļđāļĢāļāļēāļāļēāļĢāđāļāļ "āļāļīāđāļāđāļāļ"
āđāļāļāļĢāļīāļāļāļāļāļāļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļāđāļāļāđ CI āļŠāļēāļĄāļēāļĢāļāļāļĢāļąāļāļāļĢāļļāļāļāļļāļāļ āļēāļ āļāļ§āļēāļĄāđāļŠāļāļĩāļĒāļĢ āđāļĨāļ°āļāļ§āļēāļĄāļāđāļēāđāļāļ·āđāļāļāļ·āļāļāļāļāđāļ§āđāļāđāļāļāļāļĨāļīāđāļāļāļąāļāđāļāđāļāļĒāđāļēāļāļĄāļēāļ āđāļāļĒāļāļģāđāļŦāđāđāļāđāđāļāļ§āđāļēāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļļāļāļāļĒāđāļēāļāļāļĩāđāļāļąāļāļāļąāļāļāļēāļāļģāļĄāļēāđāļāđāļāļ°āđāļāđāļĢāļąāļāļāļēāļĢāļāļāļŠāļāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāļāļąāļāļāļļāļāļĄāļēāļāļĢāļāļēāļāļāļļāļāļ āļēāļāļāļĩāđāļāļģāļŦāļāļāđāļ§āđāļĨāđāļ§āļāļŦāļāđāļē āđāļāļ§āļāļēāļāļāļĩāđāļāđāļ§āļĒāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļĢāļ°āļāļļāđāļĨāļ°āđāļāđāđāļāļāđāļāļāļāļāļĢāđāļāļ āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ āļāđāļāļāđāļŦāļ§āđāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ āđāļĨāļ°āļāļąāļāļŦāļēāļāļāļāļ§āļāļāļāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāđāļāļąāđāļāđāļāđāđāļāļīāđāļāđ āļāļķāđāļāļāđāļ§āļĒāļĨāļāđāļ§āļĨāļēāđāļĨāļ°āļāđāļāļāļļāļāđāļāļāļēāļĢāļāļąāļāļāļēāđāļāđāđāļāļāļĩāđāļŠāļļāļ
āļāļēāļĄāļĢāļēāļĒāļāļēāļ State of DevOps āļāļāļāđāļāļĢāļāļĩāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļŠāļđāļāļāļķāđāļāļāļģāđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļī CI āđāļāļāļāļīāļāļąāļāļīāđāļāđāļŠāļģāđāļĢāđāļ āļāļāļ§āđāļēāļĄāļĩāļāļēāļĢāļāļĢāļąāļāđāļāđāđāļāđāļāļāđāļāļĒāļāļķāđāļ 208 āđāļāđāļē āļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļģāđāļāļīāļāļāļēāļĢāļāļąāđāļāđāļāđāđāļĢāļīāđāļĄāļāļģāđāļāļīāļāļāļēāļĢāļāļāļāļķāļāļāļĢāļąāļāđāļāđāđāļĢāđāļ§āļāļķāđāļ 106 āđāļāđāļē āđāļĨāļ°āļāļđāđāļāļ·āļāļāļēāļāđāļŦāļāļļāļāļēāļĢāļāđāđāļāđāđāļĢāđāļ§āļāļķāđāļ 2,604 āđāļāđāļē āđāļĄāļ·āđāļāđāļāļĩāļĒāļāļāļąāļāļāļāļāđāļāļĢāļāļĩāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāđāļģ āļāļāļāļāļēāļāļāļĩāđ āļāļāļāđāļāļĢāđāļŦāļĨāđāļēāļāļĩāđāļĒāļąāļāļĢāļēāļĒāļāļēāļāļāļąāļāļĢāļēāļāļ§āļēāļĄāļĨāđāļĄāđāļŦāļĨāļ§āđāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĩāđāļĨāļāļĨāļāļāļķāļ 7 āđāļāđāļē āļāļķāđāļāđāļŠāļāļāđāļŦāđāđāļŦāđāļāļāļķāļāļāļĢāļ°āļŠāļīāļāļāļīāļāļĨāļāļāļ CI āđāļāļāļēāļĢāđāļāļīāđāļĄāļāļĩāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļĨāļ°āļāļĨāļĨāļąāļāļāđāđāļāļāļēāļĢāļāļąāļāļāļēāļāļāļāļāđāđāļ§āļĢāđ
āļŦāļąāļ§āđāļāļŦāļĨāļąāļāļāļ·āļāļāļēāļĢāļāļđāļĢāļāļēāļāļēāļĢāļāļĒāđāļēāļāļāđāļāđāļāļ·āđāļāļāļāļēāļĻāļąāļĒāļāļēāļĢāļŠāļĢāđāļēāļāđāļāļāđāđāļĨāļāđāļāļĩāđāđāļāđāļāđāļāļĢāđāļāļāļķāđāļāļāļģāļŦāļāļāļĨāļģāļāļąāļāļāļāļāļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāđāļĨāļ°āļāļēāļĢāļāļāļŠāļāļāļāļĩāđāļāļ°āļāļģāđāļāļīāļāļāļēāļĢāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāļļāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāđāļāđāļāđāļāļĒāļąāļāļāļ·āđāļāļāļĩāđāđāļāđāļāļāđāļāļĄāļđāļĨ āđāļāļāđāđāļĨāļāđ CI āļāļąāđāļ§āđāļāļāļēāļāđāļāļĩāđāļĒāļ§āļāđāļāļāļāļąāļāļāļēāļĢāļāļāļŠāļāļāļŦāļāđāļ§āļĒ āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļēāļĢāļāļĢāļāļāļāļĨāļļāļĄāđāļāđāļ āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļāđāļāđāļāļāļāļāļāļĩāđ āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ āļāļēāļĢāļāđāļāļāđāļāđāļ āļāļēāļĢāļāļāļŠāļāļāļāļēāļĢāļĢāļ§āļĄ āļāļēāļĢāļāļāļŠāļāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āđāļĨāļ°āļāļēāļĢāļāļāļŠāļāļāļāļēāļĢāļĒāļāļĄāļĢāļąāļāļāļāļāļāļđāđāđāļāđ āļāđāļēāļĄāļāļĨāļēāļāļāļąāđāļāļāļāļāļāļ·āđāļāđ āđāļāđāļĨāļ°āļāļąāđāļāļāļāļāđāļāđāļāļāđāđāļĨāļāđāđāļāđāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāđāļāđāļĄāļļāļĄāļāđāļēāļāđ āļāļāļāđāļāđāļāļāļĩāđāļāļģāļĨāļąāļāļāļģāļĄāļēāđāļāđ āđāļāļ·āđāļāđāļŦāđāļĄāļąāđāļāđāļāļ§āđāļēāļŠāļāļāļāļĨāđāļāļāļāļąāļāļāđāļāļāļģāļŦāļāļāļāđāļēāļāļāļļāļāļ āļēāļ āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āđāļĨāļ°āļāļ§āļēāļĄāđāļŠāļāļĩāļĒāļĢāđāļāļĒāļĢāļ§āļĄāļāļāļāđāļ§āđāļāđāļāļāđ
āđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļĨāļ°āđāļāļĨāļāļāļāļĢāđāļĄ CI āļĒāļāļāļāļīāļĒāļĄāļāļēāļāļŠāđāļ§āļāđāļāđāļĨāļāļāļāļāļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļ āđāļāđāđāļāđ Jenkins, Travis CI, CircleCI āđāļĨāļ° GitLab CI/CD āđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļŦāļĨāđāļēāļāļĩāđāļāđāļ§āļĒāđāļŦāđāļāļąāļāļāļąāļāļāļēāļŠāļēāļĄāļēāļĢāļāļāļąāđāļāļāđāļē āļāļģāļŦāļāļāļāđāļē āđāļĨāļ°āļāļąāļāļāļēāļĢāđāļāļāđāđāļĨāļāđ CI āļāļģāļāļēāļĢāļāļāļŠāļāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī āļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļ·āļāļŦāļāđāļēāļāļāļāđāļāļāđāđāļĨāļāđ āđāļĨāļ°āļāļĢāļīāļāđāļāļāļĢāđāļāļēāļĢāđāļāđāļāđāļāļ·āļāļāđāļāļāļĢāļāļĩāļāļĩāđāđāļāļīāļāļāļ§āļēāļĄāļĨāđāļĄāđāļŦāļĨāļ§ āđāļāļĨāļāļāļāļĢāđāļĄāđāļŦāļĨāđāļēāļāļĩāđāļĒāļąāļāļāļģāđāļŠāļāļāļāļēāļĢāļāļŠāļēāļāļĢāļ§āļĄāļāļąāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļēāļĢāļāļąāļāļāļēāļāļ·āđāļāđ āđāļāđāļ āļĢāļ°āļāļāļāļ§āļāļāļļāļĄāđāļ§āļāļĢāđāļāļąāļ āļāļąāļ§āļāļīāļāļāļēāļĄāļāļąāļāļŦāļē āđāļĨāļ°āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĢāļąāļāđāļāđ āļāļķāđāļāļāļģāļāļ§āļĒāļāļ§āļēāļĄāļŠāļ°āļāļ§āļāđāļāļāļēāļĢāļĢāļ§āļĄ CI āđāļāđāļēāļāļąāļāđāļ§āļīāļĢāđāļāđāļāļĨāļ§āđāđāļĨāļ°āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļąāļāļāļēāļāļĩāđāļĄāļĩāļāļĒāļđāđāđāļāđāļāļĒāđāļēāļāļĢāļēāļāļĢāļ·āđāļ
āđāļāļāļēāļāļ°āđāļāļĨāļāļāļāļĢāđāļĄ no-code āļāļąāļāļāļĢāļāļāļĨāļąāļ AppMaster āļāļģāđāļŠāļāļāļāļļāļāļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āļāļąāļāļāđāļāļąāļāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāļāļĢāļāļāļāļĨāļļāļĄāđāļāđāļĨāļđāļāļāđāļēāđāļāļĒāļĄāļĩāđāļāđāļēāļŦāļĄāļēāļĒāđāļāļ·āđāļāļĨāļāļāļ§āļēāļĄāļāļąāļāļāđāļāļāđāļĨāļ°āļāļĢāļąāļāļāļĢāļļāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļāđāļāļāđ āđāļāļĢāļ°āļāļāļāļīāđāļ§āļĻāļāļĩāđ CI āļĄāļĩāļāļāļāļēāļāļŠāļģāļāļąāļāđāļāļāļēāļĢāļĢāļąāļāļāļĢāļ°āļāļąāļāļāļēāļĢāļŠāđāļāļĄāļāļāđāļāļāļāļĨāļīāđāļāļāļąāļāđāļ§āđāļāļāļļāļāļ āļēāļāļŠāļđāļāļāļĩāđāļĢāļēāļāļĢāļ·āđāļ āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āđāļĨāļ°āļāļąāļāđāļ§āļĨāļē āđāļāđāļāđāļāļāļāđāļāļāļ AppMaster āļŠāļĢāđāļēāļāļāļķāđāļāđāļāļĒāđāļāđ Go (golang) āđāļāļāļāļ°āļāļĩāđāđāļ§āđāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļđāļāļŠāļĢāđāļēāļāļāļķāđāļāļāđāļ§āļĒāđāļāļĢāļĄāđāļ§āļīāļĢāđāļ Vue3 āđāļĨāļ° JS/TS āđāļĨāļ°āđāļāļāļāļĨāļīāđāļāļāļąāļāļĄāļ·āļāļāļ·āļāļāļđāļāļŠāļĢāđāļēāļāļāļķāđāļāđāļāļĒāđāļāđ Kotlin āđāļĨāļ° Jetpack Compose āļŠāļģāļŦāļĢāļąāļ Android āđāļĨāļ° SwiftUI āļŠāļģāļŦāļĢāļąāļ iOS āļāđāļ§āļĒāļāļēāļĢāļāļĢāļąāļāđāļāļĨāļĩāđāļĒāļāļāļīāļĄāļāđāđāļāļĩāļĒāļ§āđāļāđāļĨāļ°āļāļĢāļąāđāļ āļĨāļđāļāļāđāļēāļāļ°āļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļāļāļļāļāđāļāļāļāļĨāļīāđāļāļāļąāļāđāļŦāļĄāđāđāļāđāļ āļēāļĒāđāļāđāļ§āļĨāļēāđāļāļĩāļĒāļ 30 āļ§āļīāļāļēāļāļĩāļāđāļēāļāđāļāļĨāļāļāļāļĢāđāļĄ no-code āļāļĩāđāļĨāđāļģāļŠāļĄāļąāļĒāļāļāļ AppMaster
āđāļāļ·āđāļāļāļģāļāļ§āļĒāļāļ§āļēāļĄāļŠāļ°āļāļ§āļāđāļāļāļēāļĢāļāļĢāļąāļāđāļāđāđāļĨāļ°āļāļēāļĢāļāļģāđāļāļ§āļāļāļīāļāļąāļāļī CI āđāļāđāļāđ AppMaster āļāļ°āļŠāļĢāđāļēāļāđāļāļāļŠāļēāļĢ Swagger (OpenAPI) āđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāļŠāļģāļŦāļĢāļąāļ endpoints āļāđāļāļĄāļđāļĨāđāļāļīāļĢāđāļāđāļ§āļāļĢāđāđāļĨāļ°āļŠāļāļĢāļīāļāļāđāļāļēāļĢāļĒāđāļēāļĒāļŠāļāļĩāļĄāļēāļāļēāļāļāđāļāļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļāļāļļāļāđāļāļĢāļāļāļēāļĢ āļŠāļīāđāļāļāļĩāđāļāđāļ§āļĒāđāļŦāđāļāļąāļāļāļąāļāļāļēāļŠāļēāļĄāļēāļĢāļāļĢāļąāļāļĐāļēāļāļ§āļēāļĄāļŠāļāļāļāļĨāđāļāļ āļāļēāļĢāļāļīāļāļāļēāļĄ āđāļĨāļ°āļāļēāļĢāļāļ§āļāļāļļāļĄāđāļ§āļāļĢāđāļāļąāļāļāļąāđāļ§āļāļąāđāļāđāļāđāļāđāļāļŠāđāļāđāļāļĒāđāļēāļāļĢāļēāļāļĢāļ·āđāļ āļāļāļāļāļēāļāļāļĩāđ āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļāđāļāļĨāļāļāļāļĢāđāļĄāđāļāļāļēāļĢāļŠāļĢāđāļēāļāđāļāļāļāļĨāļīāđāļāļāļąāļāđāļŦāļĄāđāļāļąāđāļāđāļāđāļāđāļāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļļāļāļāļĢāļąāđāļ āļāđāļ§āļĒāļĨāļāļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļāđāļāļāļēāļĢāļŠāļ°āļŠāļĄāļŦāļāļĩāđāļāļēāļāđāļāļāļāļīāļ āđāļĨāļ°āļāđāļ§āļĒāļĢāļąāļāļĐāļēāļāļēāļāđāļāđāļāļāļĩāđāļāļĢāļēāļĻāļāļēāļāļāđāļāļāļīāļāļāļĨāļēāļ
āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļđāļĢāļāļēāļāļēāļĢāļāļĒāđāļēāļāļāđāļāđāļāļ·āđāļāļāļāļĩāđāđāļāđāļĢāļąāļāļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāļāļĒāđāļēāļāļāļĩāļāļ°āđāļāđāļāļāļĢāļ°āđāļĒāļāļāđāļāļĒāđāļēāļāļĒāļīāđāļāļāđāļāļāļ§āļēāļĄāļāļĒāļēāļĒāļēāļĄāđāļāļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļ āđāļāļĒāļāļģāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļāļāļāļąāļāļŦāļēāđāļāđāļāļąāđāļāđāļāđāđāļāļīāđāļāđ āļŠāđāļāđāļŠāļĢāļīāļĄāļŦāļĨāļąāļāļāļēāļĢāļāļāļāļāļēāļĢāđāļāđāļāđāļāđāļēāļāļāļāđāļāđāļāļāļĩāđāđāļāđāļĢāđāļ§āļĄāļāļąāļāđāļĨāļ°āļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļ āđāļĨāļ°āļŠāļāļąāļāļŠāļāļļāļāđāļŦāđāļĄāļĩāļāļēāļĢāļāļđāļĢāļāļēāļāļēāļĢāļāļēāļĢāļĄāļĩāļŠāđāļ§āļāļĢāđāļ§āļĄāļāļāļāđāļāđāļāđāļāļāļāļēāļāđāļĨāđāļāļāđāļāļĒāļāļĢāļąāđāļ āļāđāļ§āļĒāļāļēāļĢāļāļģāđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđ āļāļāļāđāļāļĢāļāđāļēāļāđ āļāļķāļāļŠāļēāļĄāļēāļĢāļāļŠāđāļāļĄāļāļāđāļ§āđāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļļāļāļ āļēāļāļŠāļđāļ āđāļŠāļāļĩāļĒāļĢ āđāļĨāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāđāļāļĒāđāļēāļāļŠāļĄāđāļģāđāļŠāļĄāļ āđāļāļāļāļ°āđāļāļĩāļĒāļ§āļāļąāļāļāđāđāļĢāđāļāļĨāļģāļāļąāļāđāļ§āļĨāļēāļāļēāļĢāļāļąāļāļāļēāđāļĨāļ°āļĨāļāļāđāļāļāļļāļāļāļĩāđāđāļāļĩāđāļĒāļ§āļāđāļāļāļāļąāļāļāļēāļĢāļāļĩāļāļąāļ āļāļēāļĢāđāļāđāđāļ āļŦāļĢāļ·āļāļāļēāļĢāļāļāļāđāļāļāļŠāđāļ§āļāļāļĢāļ°āļāļāļāļāļāļāļāđāđāļ§āļĢāđāđāļŦāļĄāđ