{"data":{"markdownRemark":{"html":"<p>Note that this example also makes usage of Azure Devops, a free service alongside Azure for handling deployment. It is recommended that when deploying to Azure you make usage of the Devops Pipelines and Releases as this will ensure best practices for any future changes to your deployment.</p>\n<h2 id=\"create-your-build-pipeline\"><a href=\"#create-your-build-pipeline\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Create your Build Pipeline</h2>\n<p>First from <a href=\"dev.azure.com/organization\">dev.azure.com/organization</a> you'll want to create a new project.</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-9fdab.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 485px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 113.86138613861385%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAABJ0AAASdAHeZh94AAACJElEQVQ4y61UuY7bMBTUJ+brgvT5hPRpUqTblNu4WFsb674oHtbl2TeUZMtIFoidJTB4kEgO551BWZYoigK0dV17m+c5nHM4nU7/DGMM2kQhUErheDwijmMkSYIwDD3O5zPuWcMweBtQyYct0RDQTSqjwrqqYK1F13Xo+/5uUGVA30laCRnjR6yb96If+jmGTdOgbVsfN2Icx4fAu4HW+vJjmiaPlfge8N7F5e2PR5RNAu+2WE/I+NFlrvcUjtMZ/Ti9C/gyE5dJlGUZ6DpLiFmmvUK+Tx3CXCFvjMAudkYmqFuLX6Hsm2FOyn6/94mhWhLzkSsUtHV4+Z0gjSNYOUMYOad16+FMi2PRoDT9nBTWYBRFF8vS0f6CQEiNEIZxIR10kP35TM3KWB8Xq1qBG2ZCKtztdpe2Y29flYpC43CIMrwe9ggPB8RCqOjRotIKGiVwwzUp1dIlf4PrekS18zFLK41cWR+7rNYeeSNeVotCEnJazAkxPo5bUCWnzzFKUNbiprFQ2swQN5sNRsl2sF6kdMbCWo4td5NpxjRNE584u5zVYucRN6MTUb5T2McsGx6uGiXu3RY3B8Van0wayRmeWmnp3es59v+4FjZfWjeG4XaCcG/tbz7K8JB85DDYnON/T7gq+KgVkNnPxgcGwhZsOx/D/yH8Y1xTIf1/dCVpiipP8flngU9fQ3x7bhEwY2sP3wtWR5ln+P6c4suPVzy9lHgDNDj9K64fnfMAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-4e8be.webp 173w,\n/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-b824a.webp 345w,\n/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-fc53d.webp 690w,\n/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-bdb60.webp 808w\"\n          sizes=\"(max-width: 485px) 100vw, 485px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-f40b5.png 173w,\n/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-06ee6.png 345w,\n/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-8194d.png 690w,\n/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-9fdab.png 808w\"\n          sizes=\"(max-width: 485px) 100vw, 485px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-8194d.png\"\n          alt=\"azure 1\"\n          title=\"\"\n          src=\"/static/azure_1-e0d7e35f570bad8860e60a8022b1a817-8194d.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  \n  </a>\n    </p>\n<p>From there select Pipelines</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/azure_2-ca6694f07d76959859d3e1cfeff19643-acfac.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 551px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 75.8169934640523%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABJ0AAASdAHeZh94AAACJklEQVQ4y6VTyW4TQRDt3+SaAx/AD3DjiDhxIAgkxMEKggObkkCElzjCyyjYMQZCIhiPPfZsnn3Gs/nR3ZO2LZSQSJRUquru6tdV9arJ8OExQjNA0PmI6OcJFlmOMAgQhiECbiPuR1GE5XIJJsxepUT/NUYcxZjc3YL5chuDs3NUP1UhSRKazSbq9TrarRb6/T6KosB1Qg6/ynB9H0WaIE0S5HmOLMuoLbifpim3Yv86JY8OhtDMOX9dgPyPkj35BwzXwfIG5dxEiNZ4C88ycNHufzb8svOi+IuUTq0FQzcRx/GKRSGb6zVo6Rd8fXG2EUtqXQWyMsVUncC2bd7YhJLDlPmbYCIbgZQ6AaTKEbIkX8WR02MF2lSH7dgwDAM+ZZwxexmgyEIOYrQNBx71n304gal7a8Dfuy3Ymgkv8OG67gqEiZi7danl/nlbwk7lNV7sHuHW3hdsHZzCXpRZktmZjLllwaFg7EdsZsTGQEgSqCiy8jx7/hTu+308uf0A97bfoKqHdEpK0ohumbAYoOPwHi4Wi40Mc54WC7XULpTv76DrY/g7FYxqn/H4zn282j9EQAPYDPOStdmMl8p6N5/POTD7w+Wg56vSc6b0QrakLaEPx1ECxY4wtX0E+ZppomkaBxEkMEKEMiDRv36vR/91Dd2uhMHwG7UdDPo9SJ0OGo0GxygHmwJ6nnflxxeALGasKFBVNmIqtSoUZQx5NMKEjpy4/wdDt3s3RTGTHAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_2-ca6694f07d76959859d3e1cfeff19643-3e9e2.webp 173w,\n/static/azure_2-ca6694f07d76959859d3e1cfeff19643-5113e.webp 345w,\n/static/azure_2-ca6694f07d76959859d3e1cfeff19643-9f22b.webp 690w,\n/static/azure_2-ca6694f07d76959859d3e1cfeff19643-cbeb4.webp 918w\"\n          sizes=\"(max-width: 551px) 100vw, 551px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_2-ca6694f07d76959859d3e1cfeff19643-b919c.png 173w,\n/static/azure_2-ca6694f07d76959859d3e1cfeff19643-154cb.png 345w,\n/static/azure_2-ca6694f07d76959859d3e1cfeff19643-d2327.png 690w,\n/static/azure_2-ca6694f07d76959859d3e1cfeff19643-acfac.png 918w\"\n          sizes=\"(max-width: 551px) 100vw, 551px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_2-ca6694f07d76959859d3e1cfeff19643-d2327.png\"\n          alt=\"azure 2\"\n          title=\"\"\n          src=\"/static/azure_2-ca6694f07d76959859d3e1cfeff19643-d2327.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Create a pipeline, and follow the steps to connect your repository, this will change if this is your first connection between Github and Azure Devops requiring authentication.</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-8b9e8.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 522px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 83.5632183908046%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAABJ0AAASdAHeZh94AAAByklEQVQ4y5VU0XKbMBDk/7+kv9C3vPSl9UzHtZ2OPUkaO+mYYBBCQoAkYHsnQzrJOAFr5hAa6Za9vUWR8x7P8QlSGzRtj9p1MKaCcw5934do2xamNHDWhnXXdaiqt2c4eESu7XAsLGLlcDId0qqH9R3GwckMaAnM08fbYc1gvB73/wPSxt/DHkl8hC4kMVEotUZRFBBCUEKPuYNBo7qu8O37AsvVGpvNLZbLJbbbHdarFRaLBViS8fBUBIb88A8b+PwET2yYcSiR5oss8DnjiLfdzReY3U8IaozIsnO5uQjCczRNE2bWcYptxN/8egesDgYFscwIUBKglDII/j6myg4l/7gvcUgMbG2glEZNjDj5kuiTgJx4v13j+WmPkrwmZY6qrgmwDVqyNbjU9577EJAf8TFGmmbQZBcOpdTruzEmgNnB1LMAf93+xp/DU2gGA4tMQOY56SmQ0zyWPw+QT+7v0KQJVHlm0w/J12j3BrB/3MFmCTT9ww3pxzbxg6GvBmTbPKYWL0LjlLyELjPYqBs35hrQYJuysmQVG26TsaOXAOeMyNNtowhQmgZ5aVGYGpq6XNBFweaWw8zNOWPOYPj6c4/x8X0yyfQfwc4zMTcmN2oAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-eed1a.webp 173w,\n/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-cb39b.webp 345w,\n/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-61934.webp 690w,\n/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-f7239.webp 870w\"\n          sizes=\"(max-width: 522px) 100vw, 522px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-0ca7f.png 173w,\n/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-73304.png 345w,\n/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-4cc45.png 690w,\n/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-8b9e8.png 870w\"\n          sizes=\"(max-width: 522px) 100vw, 522px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-4cc45.png\"\n          alt=\"azure 3\"\n          title=\"\"\n          src=\"/static/azure_3-a0f95024ffb7abc44839daea1fd26a73-4cc45.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  \n  </a>\n    </p>\n<p>You will be brought to a configuration page, if you have already included a .yml file on your repo this will be filled in automatically. If not select a Maven option, but we'll be replacing the yml code with the below</p>\n<p class=\"code-header\">azure-pipelines.yml</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token comment\"># Maven</span>\n<span class=\"token comment\"># Build your Java project and run tests with Apache Maven.</span>\n<span class=\"token comment\"># Add steps that analyze code, save build artifacts, deploy, and more:</span>\n<span class=\"token comment\"># https://docs.microsoft.com/azure/devops/pipelines/languages/java</span>\n\n<span class=\"token key atrule\">trigger</span><span class=\"token punctuation\">:</span>\n<span class=\"token punctuation\">-</span> master\n<span class=\"token punctuation\">-</span> staging\n\n<span class=\"token key atrule\">pool</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">vmImage</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'ubuntu-latest'</span>\n\n<span class=\"token key atrule\">steps</span><span class=\"token punctuation\">:</span>\n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">task</span><span class=\"token punctuation\">:</span> Maven@3\n  <span class=\"token key atrule\">inputs</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">mavenPomFile</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'pom.xml'</span>\n    <span class=\"token key atrule\">options</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'--settings settings.xml'</span>\n    <span class=\"token key atrule\">mavenOptions</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'-Xmx3072m'</span>\n    <span class=\"token key atrule\">javaHomeOption</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'JDKVersion'</span>\n    <span class=\"token key atrule\">jdkVersionOption</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'1.8'</span>\n    <span class=\"token key atrule\">jdkArchitectureOption</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'x64'</span>\n    <span class=\"token key atrule\">publishJUnitResults</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">false</span>\n    <span class=\"token key atrule\">testResultsFiles</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'**/surefire-reports/TEST-*.xml'</span>\n    <span class=\"token key atrule\">goals</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'package'</span>\n\n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">task</span><span class=\"token punctuation\">:</span> CopyFiles@2\n  <span class=\"token key atrule\">displayName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Copy Files to artifact staging directory'</span>\n  <span class=\"token key atrule\">inputs</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">SourceFolder</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'$(System.DefaultWorkingDirectory)/target'</span>\n    <span class=\"token key atrule\">Contents</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'simudyne-demos-1.0-SNAPSHOT-allinone.jar'</span>\n    <span class=\"token key atrule\">TargetFolder</span><span class=\"token punctuation\">:</span> $(Build.ArtifactStagingDirectory)\n\n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">task</span><span class=\"token punctuation\">:</span> CopyFiles@2\n  <span class=\"token key atrule\">displayName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Copy Properties'</span>\n  <span class=\"token key atrule\">inputs</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">SourceFolder</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'$(System.DefaultWorkingDirectory)'</span>\n    <span class=\"token key atrule\">Contents</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'simudyneSDK.properties'</span>\n    <span class=\"token key atrule\">TargetFolder</span><span class=\"token punctuation\">:</span> $(Build.ArtifactStagingDirectory)\n\n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">task</span><span class=\"token punctuation\">:</span> CopyFiles@2\n  <span class=\"token key atrule\">displayName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Copy License'</span>\n  <span class=\"token key atrule\">inputs</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">SourceFolder</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'$(System.DefaultWorkingDirectory)'</span>\n    <span class=\"token key atrule\">Contents</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'licenseKey'</span>\n    <span class=\"token key atrule\">TargetFolder</span><span class=\"token punctuation\">:</span> $(Build.ArtifactStagingDirectory)\n    \n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">task</span><span class=\"token punctuation\">:</span> CopyFiles@2\n  <span class=\"token key atrule\">displayName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Copy Startup'</span>\n  <span class=\"token key atrule\">inputs</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">SourceFolder</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'$(System.DefaultWorkingDirectory)'</span>\n    <span class=\"token key atrule\">Contents</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'startup.sh'</span>\n    <span class=\"token key atrule\">TargetFolder</span><span class=\"token punctuation\">:</span> $(Build.ArtifactStagingDirectory)\n\n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">task</span><span class=\"token punctuation\">:</span> PublishBuildArtifacts@1\n  <span class=\"token key atrule\">inputs</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">PathtoPublish</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'$(Build.ArtifactStagingDirectory)'</span>\n    <span class=\"token key atrule\">ArtifactName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'drop'</span>\n    <span class=\"token key atrule\">publishLocation</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Container'</span></code></pre></div>\n<div class=\"ui segment info message\">\n<h4>Secure Files</h4>\nAs the settings.xml contains login information, and the license file is also meant to be obscured you'll notice that both are secure files. See [here](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/secure-files?view=azure-devops) for a guide on how to add secure files to Azure Devops.\n</div>\n<p>Once you have run and there are no issues with your pipeline compiling and moving the various files to the correct artifact directory. </p>\n<h2 id=\"create-your-release-pipeline\"><a href=\"#create-your-release-pipeline\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Create your Release Pipeline</h2>\n<p>Now from the left menu we'll move over to Pipelines > Releases, from here we'll create a release pipeline selecting the 'Deploy a Java app to Azure App Service'</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-44f01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 690px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 51.39049826187717%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABJ0AAASdAHeZh94AAABN0lEQVQoz42S23KFMAhF/f/P7EMfaqO5mxvZhdg4OqfTlhliNLhZEJYjZeRSkXNGjHF4SglEBLHe+3i21nAcEcZaaH+Azs+ojRBSQW4duRKWUusIFgHx+17Epsv3mSyXNt7n2T12IWoopaDR+VPmPX1TMd8ZKDs+25hk81yF93DOMfGBykBTDEOQl8gZU6Ur22YclI2wIaFL9iFYoXLH6iICi/kQhqjAzNZIHBN2hFxZsF2lKRPwYSL0XZDjlFd8phB8QGBBz6QPQSGURbCvPuBuz5I/j8SJLIzWMMYMQSl7Xtwl+JeLEQt6ngi171jXFUqpISjT8RDED9bvfo0NMY2D5ZK3bWffBqXc+kvJ/yHsPA3KF6w6IIazh0I3b/lXwgft7GsnvLuMt1VDM51mOstDLrN5J/wCGJcSU6JWaJQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-8e416.webp 173w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-0b506.webp 345w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-58be5.webp 690w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-59b8d.webp 1035w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-4a474.webp 1380w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-99501.webp 1726w\"\n          sizes=\"(max-width: 690px) 100vw, 690px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-7e3fa.png 173w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-7f1d4.png 345w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-13856.png 690w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-045bb.png 1035w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-f46ab.png 1380w,\n/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-44f01.png 1726w\"\n          sizes=\"(max-width: 690px) 100vw, 690px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-13856.png\"\n          alt=\"azure 4\"\n          title=\"\"\n          src=\"/static/azure_4-a11966917ea9b2b0b50622b9c09234ac-13856.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Let's click 'Add an Artifact' and make sure to select our project and the Source, which should be our build pipeline we just created.</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-0fc40.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 690px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 48.16513761467889%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABJ0AAASdAHeZh94AAABOklEQVQoz4VS207DMAzN//8DPwTPe4KHgYbaraOsNPfbwU6TqqvEiHSUxImPfWwL5wO899BaFxhjEGNEzrmAV0oJ3jlopaAIfy3+L9iZHRh8jjHdETL4zVHQ4yAxKk7AFZu1dglGby244MdYCZ3jj3kXtWYYAg6nCe9XDSklAt2bGvZbCcfZYNK+ZJZzgrIe0kVon0qgJpmdlLGwVKImb78Xyd04Y/gxCFW61oYcHWUUS/SVkGR93SSuN41ZByQuRcVSlqU0glPfN6GKXSXnSnj4kHh+k3i9UB1jhgtk551g6exJpWDWbQP2WLtMhMFbvt1JXBvXJOPB2hMqOWOaJkgaHVYWyOY3YKXiUXZbQpZ8unzjs+txPp/RdR36vscwDAVs4zH6N8NCWbv/9DLiOLpS37CZ3zarvP8C8AYR6e9iBxMAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-8e416.webp 173w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-0b506.webp 345w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-58be5.webp 690w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-59b8d.webp 1035w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-4a474.webp 1380w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-f83bb.webp 1744w\"\n          sizes=\"(max-width: 690px) 100vw, 690px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-7e3fa.png 173w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-7f1d4.png 345w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-13856.png 690w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-045bb.png 1035w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-f46ab.png 1380w,\n/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-0fc40.png 1744w\"\n          sizes=\"(max-width: 690px) 100vw, 690px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-13856.png\"\n          alt=\"azure 5\"\n          title=\"\"\n          src=\"/static/azure_5-4e20058ee0af71fe1dc939df7fe70fe3-13856.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Next let's click where it says '1 Job, 2 Tasks'. From here we will want to Delete the task for the 'Deploy War to App Service' and also Enable the 'Deploy Jar to App Service', both of which can be done by right-clicking.</p>\n<p><a href=\"\"></a>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 445px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 52.695417789757414%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABJ0AAASdAHeZh94AAABgUlEQVQoz52T62rcMBCF/f6v0OfoEzSQCzSQP0nalNANXfki23Ks+8V7OqPtkpBCSir4mPFIjM4c5GYxAbP2mIiYNzhnMQwDpJSYpgmiFRjHCX3foyPmWSGEAF6Hw+EvGuM8XEh0KNaDW8nw3kNr8ydqrOsKYw2stZWcM1Fqg7erWRaFkhPc84qnfYuQMiI1HscRMcbaQClVmxhjanPOWT3vn5TipJBHiynBF0CnA0J5ufW1grejva5tRC4btm1D0+92WMkbTzcGwtEFiUenzVLKPzg2yZSHmGqtYfksnf3y5CdH9vJjHP3nSZu+bdERrdhXH/5nsdKjDeShUBZyIVYP5TKUTTXONmKi2qxDrS3vMBNyDdCeFH76GXF184gvl7e4uP6B8+sHnF3d4+zrAy7uBS7v9rgVFt+HiG99oPgCfz/KiPOdx+ebDk9So7mTFu3wDNEv2HeqRsFRrugWj055tLOFeIdOOfwaNU3k0ASr6a0dHy3/JZyfojX6Q/D7/Q2P4FBfIFNFXwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_6-160f25d87bf3eafe3f4639559205f14e-9647e.webp 173w,\n/static/azure_6-160f25d87bf3eafe3f4639559205f14e-566c8.webp 345w,\n/static/azure_6-160f25d87bf3eafe3f4639559205f14e-79b0d.webp 690w,\n/static/azure_6-160f25d87bf3eafe3f4639559205f14e-7868b.webp 742w\"\n          sizes=\"(max-width: 445px) 100vw, 445px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_6-160f25d87bf3eafe3f4639559205f14e-d4fe1.png 173w,\n/static/azure_6-160f25d87bf3eafe3f4639559205f14e-e1659.png 345w,\n/static/azure_6-160f25d87bf3eafe3f4639559205f14e-0ac1d.png 690w,\n/static/azure_6-160f25d87bf3eafe3f4639559205f14e-68c05.png 742w\"\n          sizes=\"(max-width: 445px) 100vw, 445px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_6-160f25d87bf3eafe3f4639559205f14e-0ac1d.png\"\n          alt=\"azure 6\"\n          title=\"\"\n          src=\"/static/azure_6-160f25d87bf3eafe3f4639559205f14e-0ac1d.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  </p>\n<p>On the right you will be required to connect to your Azure Subscription and the App Service you wish to deploy too. This may require further authentication see <a href=\"https://docs.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops\">Azure's Documentation</a> for more.</p>\n<p>The main things you'll need to do are to make sure the name of the folder corresponds to the one we copied above 'drop', the Runtime Stack is set to Java 8, and finally that we refer to the <code class=\"language-text\">startup.sh</code> script which should be placed in your main directory. The contents of that script are fairly simple</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-e58da.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; padding: 20px; max-width: 595px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 30.141129032258064%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABJ0AAASdAHeZh94AAAArElEQVQY042RCQ4CIQxFuf9ZHXbKUJYv1NGoExeSly6h/WmrQggwxsBaC0oJRITaGmqtLzBXtJnvvX9FESVoreFmQ+ec4L3HElpW/MnKL0EplMbPdBHd9x3Kx4SLNtDWIUQCt3GmH0jc3xgo05Z6m0rFzLAhYbMBm/HI3I5Pk/pk7/4HYi5IcwIZ2fuAGI/9TaXHrsb4mzFZT+VMchS9bbLLxYpLKafD/IKZcQVAzNWpTTrDVgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <picture>\n        <source\n          srcset=\"/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-04189.webp 173w,\n/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-420c4.webp 345w,\n/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-ec6d6.webp 690w,\n/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-bd548.webp 992w\"\n          sizes=\"(max-width: 595px) 100vw, 595px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-5d9a2.png 173w,\n/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-ba05b.png 345w,\n/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-abb3a.png 690w,\n/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-e58da.png 992w\"\n          sizes=\"(max-width: 595px) 100vw, 595px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n          src=\"/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-abb3a.png\"\n          alt=\"azure 7\"\n          title=\"\"\n          src=\"/static/azure_7-a6a4dff57ec756a5d64a5dceb1241e17-abb3a.png\"\n        />\n      </picture>\n      </span>\n  </span>\n  \n  </a>\n    </p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token shebang important\">#!/bin/bash</span>\n\n<span class=\"token comment\"># Move to artifact directory</span>\n<span class=\"token function\">cd</span> /home/site/wwwroot\n\njava -jar simudyne-demos-1.0-SNAPSHOT-allinone.jar</code></pre></div>\n<p>After that simply create your first release and deploy. Once successful you should be able to go to the address of your app service (via portal.azure.com) and view your deployment as if it was local.</p>","headings":[{"value":"Create your Build Pipeline","depth":2},{"value":"Create your Release Pipeline","depth":2}],"frontmatter":{"title":"Deploying on Azure Web Services","toc":null,"experimental":null}},"site":{"siteMetadata":{"title":"Simudyne Docs","latestVersion":"2.6"}}},"pageContext":{"absolutePath":"/home/vsts/work/1/s/content/2.6/reference/run_deploy/azure.md","versioned":false,"version":"2.6","kind":"reference","pagePath":"/reference/run_deploy/azure","chronology":{"prev":{"name":"Deploying via Kubernetes","path":"/reference/run_deploy/kubernetes"},"next":{"name":"Deploying on AWS","path":"/reference/run_deploy/aws"}},"lastUpdated":"2026-04-21T13:56:54.870Z"}}