{"id":39275,"date":"2026-02-12T21:54:00","date_gmt":"2026-02-12T19:54:00","guid":{"rendered":"https:\/\/itedu.center\/ua\/blog\/?p=39275"},"modified":"2026-02-16T17:05:39","modified_gmt":"2026-02-16T15:05:39","slug":"ctvorennia-avtomatychnoho-paiplainu-ci-cd-z-mule-4-ta-cloudhub-2-0","status":"publish","type":"post","link":"https:\/\/itedu.center\/ua\/blog\/guides\/ctvorennia-avtomatychnoho-paiplainu-ci-cd-z-mule-4-ta-cloudhub-2-0\/","title":{"rendered":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0443 CI\/CD \u0437 Mule 4 \u0442\u0430 CloudHub 2.0"},"content":{"rendered":"\n<p>\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0439\u043d\u0456 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0438 \u043d\u0430 Mule 4 \u043f\u043e\u0441\u0442\u0456\u0439\u043d\u043e \u0437\u043c\u0456\u043d\u044e\u044e\u0442\u044c\u0441\u044f. \u041a\u043e\u0436\u043d\u0430 \u0437\u043c\u0456\u043d\u0430 \u0437\u0430\u043a\u0456\u043d\u0447\u0443\u0454\u0442\u044c\u0441\u044f \u0434\u0435\u043f\u043b\u043e\u0454\u043c. \u0406 \u0441\u0430\u043c\u0435 \u043d\u0430 \u0446\u044c\u043e\u043c\u0443 \u0435\u0442\u0430\u043f\u0456 \u043d\u0430\u0439\u0447\u0430\u0441\u0442\u0456\u0448\u0435 \u0432\u0438\u043d\u0438\u043a\u0430\u044e\u0442\u044c \u0432\u0438\u043a\u043b\u0438\u043a\u0438.<\/p>\n\n\n\n<p>\u041f\u043e\u043a\u0438 \u0434\u0435\u043f\u043b\u043e\u0439 \u0432\u0438\u043a\u043e\u043d\u0443\u0454\u0442\u044c\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443, \u043f\u0440\u043e\u0446\u0435\u0441 \u0437\u0430\u043b\u0435\u0436\u0438\u0442\u044c \u0432\u0456\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0430 \u0440\u043e\u0437\u0440\u043e\u0431\u043d\u0438\u043a\u0430. \u0412\u0456\u0434\u0440\u0456\u0437\u043d\u044f\u0454\u0442\u044c\u0441\u044f \u0432\u0435\u0440\u0441\u0456\u044f JDK, \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0456 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f Maven, \u043f\u0440\u043e\u0444\u0456\u043b\u0456 \u0430\u0431\u043e \u043d\u0430\u0432\u0456\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f \u043a\u043e\u043c\u0430\u043d\u0434.&nbsp;<\/p>\n\n\n\n<p>\u0423 \u0432\u0435\u043b\u0438\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0446\u0435 \u0441\u0442\u0432\u043e\u0440\u044e\u0454 \u0440\u044f\u0434 \u0442\u0440\u0443\u0434\u043d\u043e\u0449\u0456\u0432, \u044f\u043a\u0456 \u0432\u0438\u0440\u0456\u0448\u0443\u0454 CI\/CD.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f Mule 4 \u0442\u0430 CloudHub 2.0<\/h2>\n\n\n\n<p>\u0421\u043f\u0435\u0440\u0448\u0443 \u043f\u0440\u043e \u0433\u043e\u043b\u043e\u0432\u043d\u0435 \u2014 \u0449\u043e \u0432\u0437\u0430\u0433\u0430\u043b\u0456 \u0442\u0430\u043a\u0435 Mule 4 \u0442\u0430 CloudHub 2.0?<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.mulesoft.com\/mule-runtime\/latest\/mule-runtime-updates\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\" data-wpel-link=\"external\"><strong>Mule 4<\/strong><\/a> \u2014 \u0446\u0435 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0439\u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 (runtime) \u0432\u0456\u0434 MuleSoft \u0434\u043b\u044f \u0441\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f API \u0442\u0430 \u043e\u0431\u043c\u0456\u043d\u0443 \u0434\u0430\u043d\u0438\u043c\u0438 \u043c\u0456\u0436 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438. \u0423 \u043d\u0456\u0439 \u0440\u0435\u0430\u043b\u0456\u0437\u0443\u0454\u0442\u044c\u0441\u044f \u043b\u043e\u0433\u0456\u043a\u0430 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0439: \u043f\u0440\u0438\u0439\u043e\u043c \u0437\u0430\u043f\u0438\u0442\u0456\u0432, \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044f \u0434\u0430\u043d\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 DataWeave, \u0432\u0437\u0430\u0454\u043c\u043e\u0434\u0456\u044f \u0437 \u0431\u0430\u0437\u0430\u043c\u0438, \u0447\u0435\u0440\u0433\u0430\u043c\u0438 \u0442\u0430 \u0437\u043e\u0432\u043d\u0456\u0448\u043d\u0456\u043c\u0438 \u0441\u0435\u0440\u0432\u0456\u0441\u0430\u043c\u0438.<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.mulesoft.com\/cloudhub-2\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\" data-wpel-link=\"external\"><strong>CloudHub 2.0<\/strong><\/a> \u2014 \u0446\u0435 \u0445\u043c\u0430\u0440\u043d\u0435 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0456\u0432 Mule 4 \u0443 \u043c\u0435\u0436\u0430\u0445 Anypoint Platform. \u0412\u043e\u043d\u043e \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u0430\u0454 \u0437\u0430 \u0437\u0430\u043f\u0443\u0441\u043a, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043d\u043d\u044f, \u0456\u0437\u043e\u043b\u044f\u0446\u0456\u044e \u0442\u0430 \u043c\u043e\u043d\u0456\u0442\u043e\u0440\u0438\u043d\u0433 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0439\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0456\u0441\u0456\u0432.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u042f\u043a \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u0442\u0438 \u043f\u0440\u043e\u0454\u043a\u0442 \u0432\u0440\u0443\u0447\u043d\u0443?<\/h2>\n\n\n\n<p>\u041f\u0435\u0440\u0435\u0434 \u0442\u0438\u043c \u044f\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f, \u0432\u0430\u0436\u043b\u0438\u0432\u043e \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u0442\u0438, \u044f\u043a \u043f\u0440\u043e\u0454\u043a\u0442 \u0437\u0431\u0438\u0440\u0430\u0454\u0442\u044c\u0441\u044f \u0456 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u0454\u0442\u044c\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443. \u0426\u0435 \u0434\u043e\u043f\u043e\u043c\u0430\u0433\u0430\u0454 \u0432\u0456\u0434\u043b\u043e\u0432\u043b\u044e\u0432\u0430\u0442\u0438 \u043f\u043e\u043c\u0438\u043b\u043a\u0438 \u0449\u0435 \u043d\u0430 \u0440\u0430\u043d\u043d\u044c\u043e\u043c\u0443 \u0435\u0442\u0430\u043f\u0456 \u0442\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041a\u0440\u043e\u043a 1. \u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u043e\u0454\u043a\u0442\u0443<\/h3>\n\n\n\n<p>\u0423 Anypoint Studio \u0441\u0442\u0432\u043e\u0440\u044e\u0454\u043c\u043e \u043f\u0440\u043e\u0454\u043a\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0456 RAML-\u0444\u0430\u0439\u043b\u0443. RAML \u043e\u043f\u0438\u0441\u0443\u0454 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 API, \u0432\u0438\u0437\u043d\u0430\u0447\u0430\u0454 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438 \u0437\u0430\u043f\u0438\u0442\u0456\u0432, \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0434\u0430\u043d\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 DataWeave \u0442\u0430 \u0432\u0437\u0430\u0454\u043c\u043e\u0434\u0456\u044e \u0437 \u0431\u0430\u0437\u0430\u043c\u0438, \u0447\u0435\u0440\u0433\u0430\u043c\u0438 \u0447\u0438 \u0437\u043e\u0432\u043d\u0456\u0448\u043d\u0456\u043c\u0438 \u0441\u0435\u0440\u0432\u0456\u0441\u0430\u043c\u0438.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041a\u0440\u043e\u043a 2. \u0420\u0443\u0447\u043d\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 Maven<\/h3>\n\n\n\n<p>\u0420\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u0432\u0440\u0443\u0447\u043d\u0443 \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u0434\u0432\u043e\u0445 \u0435\u0442\u0430\u043f\u0456\u0432:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Build<\/strong> \u2014 \u043a\u043e\u043c\u043f\u0456\u043b\u044f\u0446\u0456\u044f \u043f\u0440\u043e\u0454\u043a\u0442\u0443 \u0442\u0430 \u043f\u0456\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 JAR-\u0444\u0430\u0439\u043b\u0443.<\/li>\n\n\n\n<li><strong>Deploy<\/strong> \u2014 \u0432\u0456\u0434\u043f\u0440\u0430\u0432\u043a\u0430 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0443 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0443.<\/li>\n<\/ol>\n\n\n\n<p>\u0414\u0435\u043f\u043b\u043e\u0439 \u043c\u043e\u0436\u0435 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u0434\u0432\u043e\u043c\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430 Exchange<\/strong> \u2014 \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0456\u043a\u0430\u0446\u0456\u0457 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0443 \u0442\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0434\u043e \u043d\u044c\u043e\u0433\u043e \u0456\u043d\u0448\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434.<\/li>\n\n\n\n<li><strong>\u0423 Runtime Manager \/ CloudHub<\/strong> \u2014 \u0449\u043e\u0431 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043e\u043a \u043e\u0434\u0440\u0430\u0437\u0443 \u0437\u0430\u043f\u0440\u0430\u0446\u044e\u0432\u0430\u0432 \u0443 \u0445\u043c\u0430\u0440\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0456.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u041a\u0440\u043e\u043a 3. \u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f pom.xml<\/h3>\n\n\n\n<p>\u0424\u0430\u0439\u043b <code>pom.xml<\/code> \u043a\u0435\u0440\u0443\u0454 \u0437\u0431\u0456\u0440\u043a\u043e\u044e \u0442\u0430 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f\u043c \u0456 \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u043a\u043b\u044e\u0447\u043e\u0432\u0456 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0454\u043a\u0442\u0443:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&lt;project xmlns=&quot;http:\/\/maven.apache.org\/POM\/4.0.0&quot;\n         xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n         xsi:schemaLocation=&quot;http:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n    \n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n    &lt;groupId&gt;com.example.mule&lt;\/groupId&gt;\n    &lt;artifactId&gt;order-api-sapi&lt;\/artifactId&gt;\n    &lt;version&gt;1.0.0&lt;\/version&gt;\n    &lt;packaging&gt;mule-application&lt;\/packaging&gt;\n    &lt;name&gt;order-api-sapi&lt;\/name&gt;\n\n    &lt;properties&gt;\n        &lt;mule.maven.plugin.version&gt;4.3.0&lt;\/mule.maven.plugin.version&gt;\n        &lt;app.runtime&gt;4.9.0&lt;\/app.runtime&gt;\n    &lt;\/properties&gt;\n\n    &lt;build&gt;\n        &lt;plugins&gt;\n            &lt;plugin&gt;\n                &lt;groupId&gt;org.mule.tools.maven&lt;\/groupId&gt;\n                &lt;artifactId&gt;mule-maven-plugin&lt;\/artifactId&gt;\n                &lt;version&gt;${mule.maven.plugin.version}&lt;\/version&gt;\n                &lt;extensions&gt;true&lt;\/extensions&gt;\n                &lt;configuration&gt;\n                    &lt;cloudhub2Deployment&gt;\n                        &lt;environment&gt;${env}&lt;\/environment&gt;\n                        &lt;applicationName&gt;${app.name}&lt;\/applicationName&gt;\n                        &lt;replicas&gt;${replicas}&lt;\/replicas&gt;\n                        &lt;vCores&gt;${vCores}&lt;\/vCores&gt;\n                    &lt;\/cloudhub2Deployment&gt;\n                &lt;\/configuration&gt;\n            &lt;\/plugin&gt;\n        &lt;\/plugins&gt;\n    &lt;\/build&gt;\n\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.mule.connectors&lt;\/groupId&gt;\n            &lt;artifactId&gt;mule-http-connector&lt;\/artifactId&gt;\n            &lt;version&gt;1.10.3&lt;\/version&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.mule.modules&lt;\/groupId&gt;\n            &lt;artifactId&gt;mule-apikit-module&lt;\/artifactId&gt;\n            &lt;version&gt;1.11.3&lt;\/version&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n\n    &lt;distributionManagement&gt;\n        &lt;repository&gt;\n            &lt;id&gt;anypoint-exchange-v3&lt;\/id&gt;\n            &lt;url&gt;https:\/\/maven.anypoint.mulesoft.com\/api\/v3\/organizations\/${groupId}\/maven&lt;\/url&gt;\n        &lt;\/repository&gt;\n    &lt;\/distributionManagement&gt;\n\n    &lt;repositories&gt;\n        &lt;repository&gt;\n            &lt;id&gt;anypoint-exchange-v3&lt;\/id&gt;\n            &lt;url&gt;https:\/\/maven.anypoint.mulesoft.com\/api\/v3\/maven&lt;\/url&gt;\n        &lt;\/repository&gt;\n    &lt;\/repositories&gt;\n\n&lt;\/project&gt;\n<\/pre><\/div>\n\n\n<p>\u0412\u0441\u0456 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0438 (<code>Server ID<\/code>, <code>Repository ID<\/code>, <code>Distribution repository ID<\/code>) \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0437\u0431\u0456\u0433\u0430\u0442\u0438\u0441\u044f \u043c\u0456\u0436 Maven \u0442\u0430 Anypoint Platform, \u0456\u043d\u0430\u043a\u0448\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0456\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0430 \u0434\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f<\/h2>\n\n\n\n<p>\u0422\u0435\u043f\u0435\u0440 \u043d\u0430\u0440\u0435\u0448\u0442\u0456 \u043c\u043e\u0436\u043d\u0430 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0457 \u0447\u0430\u0441\u0442\u0438\u043d\u0438 \u0446\u044c\u043e\u0433\u043e \u0433\u0430\u0439\u0434\u0443 \u2014 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f.&nbsp;<\/p>\n\n\n\n<p>\u0421\u043f\u043e\u0447\u0430\u0442\u043a\u0443 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0430\u0442\u0438\u0441\u044f, \u0449\u043e \u0432\u0430\u0448\u0435 \u0440\u043e\u0431\u043e\u0447\u0435 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0435 \u0433\u043e\u0442\u043e\u0432\u0435. \u0414\u043b\u044f \u0440\u043e\u0431\u043e\u0442\u0438 \u0437 Mule 4 \u043d\u0430 CloudHub 2.0 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u0456 \u043a\u0456\u043b\u044c\u043a\u0430 \u043a\u043b\u044e\u0447\u043e\u0432\u0438\u0445 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0456\u0432:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0430\u043a\u0430\u0443\u043d\u0442 \u0432 Anypoint CloudHub<\/strong> \u2014 \u0434\u043b\u044f \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u0442\u0430 \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0430\u043c\u0438;<\/li>\n\n\n\n<li><strong>Mule Runtime 4.9.0<\/strong> \u2014 \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0432\u0435\u0440\u0441\u0456\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0454\u043a\u0442\u0443;<\/li>\n\n\n\n<li><strong>Mule Maven Plugin 4.3.0<\/strong> \u2014 \u043f\u043b\u0430\u0433\u0456\u043d \u0434\u043b\u044f \u0437\u0431\u0456\u0440\u043a\u0438 \u0456 \u043f\u0443\u0431\u043b\u0456\u043a\u0430\u0446\u0456\u0457;<\/li>\n\n\n\n<li><strong>Anypoint Studio 7.21.0<\/strong> \u2014 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0435 \u0440\u043e\u0437\u0440\u043e\u0431\u043a\u0438 \u043f\u0440\u043e\u0454\u043a\u0442\u0456\u0432 Mule;<\/li>\n\n\n\n<li><strong>OpenJDK 11<\/strong> \u2014 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0456\u043b\u044f\u0446\u0456\u0457 \u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0443 Maven.<\/li>\n<\/ol>\n\n\n\n<p>\u0426\u0456 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u0437\u0430\u0431\u0435\u0437\u043f\u0435\u0447\u0443\u044e\u0442\u044c \u0441\u0443\u043c\u0456\u0441\u043d\u0456\u0441\u0442\u044c \u043c\u0456\u0436 \u043a\u043e\u0434\u043e\u043c, \u0437\u0431\u0456\u0440\u043a\u043e\u044e Maven \u0456 \u0445\u043c\u0430\u0440\u043d\u0438\u043c \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0435\u043c. \u042f\u043a\u0449\u043e \u044f\u043a\u0456\u0441\u044c \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043d\u0435\u0441\u0443\u043c\u0456\u0441\u043d\u0456, \u0437\u0431\u0456\u0440\u043a\u0430 \u0430\u0431\u043e \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u043c\u043e\u0436\u0443\u0442\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0438\u0441\u044f \u043f\u043e\u043c\u0438\u043b\u043a\u043e\u044e.<\/p>\n\n\n\n<p>\u0422\u0430\u043a\u043e\u0436 \u0432\u0430\u0436\u043b\u0438\u0432\u043e \u043f\u0456\u0434\u0433\u043e\u0442\u0443\u0432\u0430\u0442\u0438 <strong>Git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0456\u0439<\/strong>, \u0430\u0434\u0436\u0435 \u0441\u0430\u043c\u0435 \u0432\u0456\u043d \u0431\u0443\u0434\u0435 \u0442\u0440\u0438\u0433\u0435\u0440\u043e\u043c \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0443. \u041a\u043e\u0436\u0435\u043d \u043f\u0443\u0448 \u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0456\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0454 \u0437\u0431\u0456\u0440\u043a\u0443 \u0442\u0430 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0454\u043a\u0442\u0443.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f CI\/CD: settings.xml \u0442\u0430 build.yaml<\/h2>\n\n\n\n<p>\u0429\u043e\u0431 \u0437\u0431\u0456\u0440\u043a\u0430 \u0456 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e, Maven \u0456 GitHub Actions \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0456\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0438 \u0434\u043e Anypoint Platform. \u0414\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u044e\u0442\u044c <strong><code>settings.xml<\/code><\/strong> \u0442\u0430 <strong><code>build.yaml<\/code><\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">settings.xml<\/h3>\n\n\n\n<p>\u0424\u0430\u0439\u043b <code>settings.xml<\/code> \u0441\u0442\u0432\u043e\u0440\u044e\u044e\u0442\u044c \u0443 \u043f\u0430\u043f\u0446\u0456 <code>.maven<\/code> \u043f\u0440\u043e\u0454\u043a\u0442\u0443. \u0412\u0456\u043d \u0432\u0438\u0437\u043d\u0430\u0447\u0430\u0454:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Profiles<\/strong> \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0430 (Sandbox, Dev, Prod) \u0442\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0443;<\/li>\n\n\n\n<li><strong>Servers<\/strong> \u2014 \u043e\u0431\u043b\u0456\u043a\u043e\u0432\u0456 \u0434\u0430\u043d\u0456 Connected App (Client ID \u0456 Client Secret).<\/li>\n<\/ul>\n\n\n\n<p>\u041f\u0440\u0438\u043a\u043b\u0430\u0434 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u044c:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;settings xmlns=&quot;http:\/\/maven.apache.org\/SETTINGS\/1.2.0&quot;\n          xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n          xsi:schemaLocation=&quot;http:\/\/maven.apache.org\/SETTINGS\/1.2.0 \n                              https:\/\/maven.apache.org\/xsd\/settings-1.2.0.xsd&quot;&gt;\n\n  &lt;pluginGroups&gt;\n    &lt;pluginGroup&gt;org.mule.tools&lt;\/pluginGroup&gt;\n  &lt;\/pluginGroups&gt;\n\n  &lt;profiles&gt;\n    &lt;profile&gt;\n      &lt;id&gt;Sandbox&lt;\/id&gt;\n      &lt;properties&gt;\n        &lt;target&gt;Cloudhub-US-East-2&lt;\/target&gt;\n        &lt;replicas&gt;1&lt;\/replicas&gt;\n        &lt;region&gt;us-east-1&lt;\/region&gt;\n        &lt;env&gt;Sandbox&lt;\/env&gt;\n        &lt;app.name&gt;sand-order-api-sapi&lt;\/app.name&gt;\n        &lt;vCores&gt;0.1&lt;\/vCores&gt;\n        &lt;worker.type&gt;MICRO&lt;\/worker.type&gt;\n        &lt;anypoint.client.id&gt;XXXXXX&lt;\/anypoint.client.id&gt;\n        &lt;anypoint.client.secret&gt;XXXXXX&lt;\/anypoint.client.secret&gt;\n      &lt;\/properties&gt;\n    &lt;\/profile&gt;\n  &lt;\/profiles&gt;\n\n  &lt;servers&gt;\n    &lt;server&gt;\n      &lt;id&gt;anypoint-exchange-v3&lt;\/id&gt;\n      &lt;username&gt;ConnectedAppClient&lt;\/username&gt;\n      &lt;password&gt;CLIENT_SECRET&lt;\/password&gt;\n    &lt;\/server&gt;\n  &lt;\/servers&gt;\n\n&lt;\/settings&gt;\n<\/pre><\/div>\n\n\n<p><strong>\u0412\u0430\u0436\u043b\u0438\u0432\u043e<\/strong>: \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0438 (<code>Server ID<\/code>, <code>Repository ID<\/code>, <code>Distribution repository ID<\/code>) \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0442\u043e\u0447\u043d\u043e \u0437\u0431\u0456\u0433\u0430\u0442\u0438\u0441\u044f \u0437 \u0442\u0438\u043c\u0438, \u0449\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u044e\u0442\u044c\u0441\u044f \u0443 <code>pom.xml<\/code> \u0456 GitHub Actions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">build.yaml<\/h3>\n\n\n\n<p>\u0424\u0430\u0439\u043b <code>build.yaml<\/code> \u0440\u043e\u0437\u0442\u0430\u0448\u043e\u0432\u0443\u0454\u0442\u044c\u0441\u044f \u0443 <code>.github\/workflows<\/code> \u0456 \u0432\u0438\u0437\u043d\u0430\u0447\u0430\u0454 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f. \u0412\u0456\u043d \u0442\u0440\u0438\u0433\u0435\u0440\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u0443\u0448\u0456 \u0443 \u0433\u0456\u043b\u043a\u0443 main.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043a\u043b\u0430\u0434 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\nname: Publish to Exchange &amp; Deploy to CloudHub\n\non:\n  push:\n    branches: &#x5B; main ]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions\/checkout@v4\n\n      - name: Cache Maven dependencies\n        uses: actions\/cache@v4\n        with:\n          path: ~\/.m2\/repository\n          key: ${{ runner.os }}-maven-${{ hashFiles(&#039;**\/pom.xml&#039;) }}\n          restore-keys: ${{ runner.os }}-maven-\n\n      - name: Set up JDK\n        uses: actions\/setup-java@v4\n        with:\n          distribution: &quot;zulu&quot;\n          java-version: 11\n\n      - name: Publish to Exchange\n        run: |\n          mvn deploy --settings .maven\/settings.xml -DskipMunitTests \\\n          -Dclient.id=&quot;${{ secrets.CONNECTED_APP_CLIENT_ID }}&quot; \\\n          -Dclient.secret=&quot;${{ secrets.CONNECTED_APP_CLIENT_SECRET }}&quot;\n\n      - name: Deploy to CloudHub 2.0\n        run: |\n          mvn deploy --settings .maven\/settings.xml -PSandbox -DskipMunitTests -DmuleDeploy \\\n          -Dclient.id=&quot;${{ secrets.CONNECTED_APP_CLIENT_ID }}&quot; \\\n          -Dclient.secret=&quot;${{ secrets.CONNECTED_APP_CLIENT_SECRET }}&quot;\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f \u0437\u0431\u0456\u0440\u043a\u0438 \u0442\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0434\u0435\u043f\u043b\u043e\u044e<\/h2>\n\n\n\n<p>\u041f\u0456\u0441\u043b\u044f \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f <code>settings.xml<\/code> \u0442\u0430 <code>build.yaml<\/code> \u043c\u043e\u0436\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438, \u044f\u043a \u043f\u0440\u0430\u0446\u044e\u0454 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0456\u0434\u0435\u044f \u2014 \u0431\u0443\u0434\u044c-\u044f\u043a\u0456 \u0437\u043c\u0456\u043d\u0438 \u0443 \u043a\u043e\u0434\u0456 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u044c CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u041f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0443\u043d\u0456\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0456 \u0432\u0435\u0440\u0441\u0456\u0439 (GAV)<\/h3>\n\n\n\n<p>\u041f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0448\u0438\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0437\u0431\u0456\u0440\u043a\u0438 \u0432\u0430\u0436\u043b\u0438\u0432\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0430\u0442\u0438\u0441\u044f, \u0449\u043e <strong>Group ID, Artifact ID \u0456 Version (GAV)<\/strong> \u0443 <code>pom.xml<\/code> \u0443\u043d\u0456\u043a\u0430\u043b\u044c\u043d\u0456.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043a\u043b\u0430\u0434 \u0443 <code>pom.xml<\/code>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&lt;groupId&gt;com.example&lt;\/groupId&gt;\n&lt;artifactId&gt;order-api-sapi&lt;\/artifactId&gt;\n&lt;version&gt;1.0.0&lt;\/version&gt;\n<\/pre><\/div>\n\n\n<p>\u042f\u043a\u0449\u043e \u0441\u043f\u0440\u043e\u0431\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0437\u0431\u0456\u0440\u043a\u0443 \u0437 \u0443\u0436\u0435 \u0456\u0441\u043d\u0443\u044e\u0447\u043e\u044e \u043a\u043e\u043c\u0431\u0456\u043d\u0430\u0446\u0456\u0454\u044e GAV, Maven \u043d\u0435 \u0437\u043c\u043e\u0436\u0435 \u043e\u043f\u0443\u0431\u043b\u0456\u043a\u0443\u0432\u0430\u0442\u0438 JAR \u0443 Exchange \u0456 \u0432\u0438\u0434\u0430\u0441\u0442\u044c \u043f\u043e\u043c\u0438\u043b\u043a\u0443. \u0420\u0456\u0448\u0435\u043d\u043d\u044f \u2014 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u0432\u0435\u0440\u0441\u0456\u044e \u043d\u0430 \u043d\u043e\u0432\u0443, \u043d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&lt;version&gt;1.0.1&lt;\/version&gt;\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">2. \u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0443<\/h3>\n\n\n\n<p>\u041a\u043e\u043b\u0438 \u0432\u0441\u0456 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0456, \u043c\u043e\u0436\u043d\u0430 \u043e\u0434\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438, \u044f\u043a \u043f\u0440\u0430\u0446\u044e\u0454 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f.<\/p>\n\n\n\n<p>\u041f\u043e\u0447\u0438\u043d\u0430\u0454\u043c\u043e \u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0438\u0445 \u0437\u043c\u0456\u043d \u0443 \u043a\u043e\u0434\u0456: \u0434\u043e\u0434\u0430\u0442\u0435 \u043d\u043e\u0432\u0456 \u0444\u043b\u043e\u0443, \u043e\u043d\u043e\u0432\u0456\u0442\u044c API \u0430\u0431\u043e \u0441\u043a\u043e\u0440\u0438\u0433\u0443\u0439\u0442\u0435 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457. \u0426\u0456 \u0437\u043c\u0456\u043d\u0438 \u043e\u0434\u0440\u0430\u0437\u0443 \u0441\u0442\u0430\u044e\u0442\u044c \u0442\u0440\u0438\u0433\u0435\u0440\u043e\u043c \u0434\u043b\u044f \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0443.<\/p>\n\n\n\n<p>\u0414\u0430\u043b\u0456 \u0437\u0440\u043e\u0431\u0456\u0442\u044c \u043a\u043e\u043c\u0456\u0442 \u0437\u043c\u0456\u043d\u0438 \u0456 \u0434\u043e\u0434\u0430\u0439\u0442\u0435 \u0457\u0445 \u0443 \u0433\u043e\u043b\u043e\u0432\u043d\u0443 \u0433\u0456\u043b\u043a\u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0456\u044e. \u042f\u043a \u0442\u0456\u043b\u044c\u043a\u0438 \u043a\u043e\u0434 \u043f\u043e\u0442\u0440\u0430\u043f\u043b\u044f\u0454 \u0443 main, GitHub Actions \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0454 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d. \u041f\u0456\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0432\u0456\u0434\u0431\u0443\u0434\u0435\u0442\u044c\u0441\u044f \u043a\u0456\u043b\u044c\u043a\u0430 \u043a\u043b\u044e\u0447\u043e\u0432\u0438\u0445 \u0435\u0442\u0430\u043f\u0456\u0432:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0417\u0431\u0456\u0440\u043a\u0430 \u043f\u0440\u043e\u0454\u043a\u0442\u0443 Maven<\/strong> \u2014 Maven \u043a\u043e\u043c\u043f\u0456\u043b\u044e\u0454 \u043a\u043e\u0434 \u0456 \u0444\u043e\u0440\u043c\u0443\u0454 JAR-\u0444\u0430\u0439\u043b, \u0433\u043e\u0442\u043e\u0432\u0438\u0439 \u0434\u043e \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f.<\/li>\n\n\n\n<li><strong>\u041f\u0443\u0431\u043b\u0456\u043a\u0430\u0446\u0456\u044f \u0443 Anypoint Exchange<\/strong> \u2014 JAR \u043f\u043e\u0442\u0440\u0430\u043f\u043b\u044f\u0454 \u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0456\u0439 Exchange, \u0434\u0435 \u0439\u043e\u0433\u043e \u043c\u043e\u0436\u0443\u0442\u044c \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u043d\u0448\u0456 \u043a\u043e\u043c\u0430\u043d\u0434\u0438 \u0430\u0431\u043e \u043f\u0440\u043e\u0454\u043a\u0442\u0438.<\/li>\n\n\n\n<li><strong>\u0420\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u043d\u0430 CloudHub 2.0<\/strong> \u2014 JAR \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u0454\u0442\u044c\u0441\u044f \u0443 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0456, \u0432\u043a\u0430\u0437\u0430\u043d\u043e\u043c\u0443 \u0443 \u043f\u0440\u043e\u0444\u0456\u043b\u0456 (Sandbox, Dev \u0430\u0431\u043e Prod), \u0456 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043e\u043a \u0441\u0442\u0430\u0454 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0438\u043c \u0443 \u0445\u043c\u0430\u0440\u0456.<\/li>\n<\/ul>\n\n\n\n<p>\u0422\u0430\u043a\u0438\u043c \u0447\u0438\u043d\u043e\u043c \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 Maven \u0456 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u043f\u0430\u0440\u043e\u043b\u0456\u0432, \u0430 \u0432\u0438 \u0431\u0430\u0447\u0438\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0435\u0440\u0435\u0437 Git.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. \u041f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443<\/h3>\n\n\n\n<p>\u041f\u0456\u0441\u043b\u044f \u0442\u043e\u0433\u043e \u044f\u043a \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432 \u0440\u043e\u0431\u043e\u0442\u0443, \u0432\u0430\u0436\u043b\u0438\u0432\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0430\u0442\u0438\u0441\u044f, \u0449\u043e \u0432\u0441\u0435 \u043f\u0440\u043e\u0439\u0448\u043b\u043e \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u0456 \u0437\u043c\u0456\u043d\u0438 \u0437\u0430\u0441\u0442\u043e\u0441\u043e\u0432\u0430\u043d\u0456 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u041b\u043e\u0433\u0438 GitHub Actions<\/strong> \u2014 \u043f\u0435\u0440\u0448\u0435 \u043c\u0456\u0441\u0446\u0435, \u043a\u0443\u0434\u0438 \u0432\u0430\u0440\u0442\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u0438. \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u0430 \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438, \u0447\u0438 \u043f\u0440\u043e\u0439\u0448\u043b\u0430 \u0437\u0431\u0456\u0440\u043a\u0430, \u043f\u0443\u0431\u043b\u0456\u043a\u0430\u0446\u0456\u044f \u0432 Exchange \u0456 \u0434\u0435\u043f\u043b\u043e\u0439 \u0443 CloudHub \u0431\u0435\u0437 \u043f\u043e\u043c\u0438\u043b\u043e\u043a. \u042f\u043a\u0449\u043e \u044f\u043a\u0438\u0439\u0441\u044c \u043a\u0440\u043e\u043a \u043d\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u0432\u0441\u044f, \u043b\u043e\u0433 \u043f\u043e\u043a\u0430\u0436\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0443.<\/li>\n\n\n\n<li><strong>Anypoint Platform<\/strong> \u2014 \u0432\u0456\u0434\u043a\u0440\u0438\u0439\u0442\u0435 Runtime Manager \u0456 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435, \u0447\u0438 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043e\u043a \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0434\u043e \u043e\u0441\u0442\u0430\u043d\u043d\u044c\u043e\u0457 \u0432\u0435\u0440\u0441\u0456\u0457 JAR. \u0426\u0435 \u043f\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0443\u0454, \u0449\u043e \u0432\u0430\u0448\u0456 \u0437\u043c\u0456\u043d\u0438 \u0434\u0456\u0439\u0441\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u043f\u0438\u043b\u0438 \u0443 \u0445\u043c\u0430\u0440\u043d\u0435 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0435.<\/li>\n\n\n\n<li><strong>\u0422\u0430\u0439\u043c\u0441\u0442\u0435\u043c\u043f\u0438 \u0442\u0430 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u0438<\/strong> \u2014 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435 \u0443 Exchange, \u0447\u0438 \u043d\u043e\u0432\u0438\u0439 JAR \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043e, \u0456 \u0437\u0432\u0435\u0440\u043d\u0456\u0442\u044c \u0443\u0432\u0430\u0433\u0443 \u043d\u0430 \u0434\u0430\u0442\u0443 \u0442\u0430 \u0447\u0430\u0441 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f. \u0412\u043e\u043d\u0438 \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0437\u0431\u0456\u0433\u0430\u0442\u0438\u0441\u044f \u0437 \u0432\u0430\u0448\u0438\u043c \u043f\u0443\u0448\u0435\u043c, \u0449\u043e\u0431 \u0431\u0443\u0442\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0438\u043c, \u0449\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u0440\u043e\u0437\u0433\u043e\u0440\u0442\u0430\u043d\u043d\u044f \u0441\u043f\u0440\u0430\u0446\u044e\u0432\u0430\u043b\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0456\u0441\u043b\u044f\u0441\u043b\u043e\u0432\u043e<\/h2>\n\n\n\n<p>\u0422\u0435\u043f\u0435\u0440 \u0432\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0444\u043e\u043a\u0443\u0441\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u043d\u0430 \u0440\u043e\u0437\u0432\u0438\u0442\u043a\u0443 \u043b\u043e\u0433\u0456\u043a\u0438 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 \u0456 \u0432\u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u0435\u043d\u043d\u0456 API, \u0437\u0430\u043c\u0456\u0441\u0442\u044c \u0440\u0443\u0442\u0438\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u043f\u043b\u043e\u044e. \u0413\u043e\u043b\u043e\u0432\u043d\u0435 \u2014 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0456\u0434\u0433\u043e\u0442\u0443\u0432\u0430\u0442\u0438 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0435, \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 Maven, GitHub Actions \u0442\u0430 \u043f\u0440\u043e\u0444\u0456\u043b\u0456, \u0456 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0431\u0443\u0434\u0435 \u043f\u0440\u0430\u0446\u044e\u0432\u0430\u0442\u0438 \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432.\u00a0<\/p>\n\n\n\n<p>\u042f\u043a\u0449\u043e \u0445\u043e\u0447\u0435\u0442\u0435 \u0437\u0430\u0433\u043b\u0438\u0431\u0438\u0442\u0438\u0441\u044f \u0443 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443 CI\/CD \u043d\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c, \u0437\u0432\u0435\u0440\u043d\u0456\u0442\u044c \u0443\u0432\u0430\u0433\u0443 \u043d\u0430 <a href=\"https:\/\/itedu.center\/ua\/courses\/ci-cd-workshop\/?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=blog_ctvorennia-avtomatychnoho-paiplainu-ci-cd-z-mule-4-ta-cloudhub-2-0\" target=\"_blank\" rel=\"noopener\" title=\"\" data-wpel-link=\"internal\">CI\/CD \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u043c<\/a> \u0432\u0456\u0434 ITEDU. \u0426\u0435 \u0447\u0443\u0434\u043e\u0432\u0430 \u043c\u043e\u0436\u043b\u0438\u0432\u0456\u0441\u0442\u044c \u0437\u0430\u043a\u0440\u0456\u043f\u0438\u0442\u0438 \u0437\u043d\u0430\u043d\u043d\u044f \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0446\u0456 \u0448\u043b\u044f\u0445\u043e\u043c \u043e\u043f\u0430\u043d\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430\u0439\u043a\u0440\u0430\u0449\u0438\u0445 \u0456\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0456\u0432. <em>\u0406 \u0432\u0441\u0435 \u0446\u0435 \u043b\u0438\u0448\u0435 \u0437\u0430 6 \u0437\u0430\u043d\u044f\u0442\u044c.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0439\u043d\u0456 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043a\u0438 \u043d\u0430 Mule 4 \u043f\u043e\u0441\u0442\u0456\u0439\u043d\u043e \u0437\u043c\u0456\u043d\u044e\u044e\u0442\u044c\u0441\u044f. \u041a\u043e\u0436\u043d\u0430 \u0437\u043c\u0456\u043d\u0430 \u0437\u0430\u043a\u0456\u043d\u0447\u0443\u0454\u0442\u044c\u0441\u044f \u0434\u0435\u043f\u043b\u043e\u0454\u043c. \u0406 \u0441\u0430\u043c\u0435 \u043d\u0430 \u0446\u044c\u043e\u043c\u0443 \u0435\u0442\u0430\u043f\u0456 \u043d\u0430\u0439\u0447\u0430\u0441\u0442\u0456\u0448\u0435 \u0432\u0438\u043d\u0438\u043a\u0430\u044e\u0442\u044c \u0432\u0438\u043a\u043b\u0438\u043a\u0438. \u041f\u043e\u043a\u0438 \u0434\u0435\u043f\u043b\u043e\u0439 \u0432\u0438\u043a\u043e\u043d\u0443\u0454\u0442\u044c\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443, \u043f\u0440\u043e\u0446\u0435\u0441 \u0437\u0430\u043b\u0435\u0436\u0438\u0442\u044c \u0432\u0456\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0430 \u0440\u043e\u0437\u0440\u043e\u0431\u043d\u0438\u043a\u0430. \u0412\u0456\u0434\u0440\u0456\u0437\u043d\u044f\u0454\u0442\u044c\u0441\u044f \u0432\u0435\u0440\u0441\u0456\u044f JDK, \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0456 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f Maven, \u043f\u0440\u043e\u0444\u0456\u043b\u0456 \u0430\u0431\u043e \u043d\u0430\u0432\u0456\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f \u043a\u043e\u043c\u0430\u043d\u0434.&nbsp; \u0423 \u0432\u0435\u043b\u0438\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0446\u0435 \u0441\u0442\u0432\u043e\u0440\u044e\u0454 \u0440\u044f\u0434 \u0442\u0440\u0443\u0434\u043d\u043e\u0449\u0456\u0432, \u044f\u043a\u0456 \u0432\u0438\u0440\u0456\u0448\u0443\u0454 CI\/CD. \u0412\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f Mule 4 \u0442\u0430 CloudHub 2.0 \u0421\u043f\u0435\u0440\u0448\u0443 \u043f\u0440\u043e \u0433\u043e\u043b\u043e\u0432\u043d\u0435&hellip;<\/p>\n","protected":false},"author":18,"featured_media":39276,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[352],"tags":[532,101],"class_list":["post-39275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides","tag-automation","tag-cicd"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"uk","enabled_languages":["uk"],"languages":{"uk":{"title":true,"content":true,"excerpt":false}}},"acf":[],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/posts\/39275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/comments?post=39275"}],"version-history":[{"count":1,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/posts\/39275\/revisions"}],"predecessor-version":[{"id":39277,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/posts\/39275\/revisions\/39277"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/media\/39276"}],"wp:attachment":[{"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/media?parent=39275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/categories?post=39275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itedu.center\/ua\/blog\/wp-json\/wp\/v2\/tags?post=39275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}