{"id":500,"date":"2020-10-08T15:52:01","date_gmt":"2020-10-08T20:52:01","guid":{"rendered":"http:\/\/nukeitmike.com\/blog\/?p=500"},"modified":"2020-10-08T15:52:01","modified_gmt":"2020-10-08T20:52:01","slug":"what-is-this-ci-cd-thing-lets-do-a-tutorial","status":"publish","type":"post","link":"https:\/\/blog.nukeitmike.com\/index.php\/2020\/10\/08\/what-is-this-ci-cd-thing-lets-do-a-tutorial\/","title":{"rendered":"What is this CI\/CD thing?  Let\u2019s do a tutorial!"},"content":{"rendered":"<p>Well, according to Wikipedia, CI\/CD is:<\/p>\n<blockquote>\n<p>In software engineering, CI\/CD or CICD generally refers to the combined practices of continuous integration and either continuous delivery or continuous deployment. CI\/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications.<\/p>\n<\/blockquote>\n<p>So, of course I get what that is, but frankly, I am not a developer.&#160; If you came here for guidance from a developer, you really got lost.   <\/p>\n<p>I do write a decent amount of PowerShell scripts, but nothing on the order of actual development.&#160; I spend a good deal of time trying to understand the weirdness that is the Dev mind, but never enough to get proficient.&#160; In my quest to improve on this blog (and eventually a couple of other sites I have) I am going to work through the tutorial here:&#160; <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops-project\/azure-devops-project-github\">https:\/\/docs.microsoft.com\/en-us\/azure\/devops-project\/azure-devops-project-github<\/a>    <\/p>\n<p>First up, create the CI\/CD pipeline.&#160; You do this by signing into Azure, and adding the DevOps Starter.&#160; As you create it, it gives you options to load a new web app with a variety of languages.&#160; For our purposes, we are going to \u2018Bring your own code\u2019.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image-5.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"margin: 0px; display: inline; background-image: none;\" border=\"0\" alt=\"image\" src=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image_thumb-5.png?resize=244%2C224&#038;ssl=1\" width=\"244\" height=\"224\" \/><\/a><\/p>\n<p>For this, I created a new Repo in DevOps.&#160; When you are choosing your repository, you can select Git, BitBucket or Other Git.&#160; I selected \u201cOther Git, and entered the repository URL.&#160; It is mine, not yours so it is private, and I need to enter credentials:   <br \/><a href=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image-6.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"margin: 0px; display: inline; background-image: none;\" border=\"0\" alt=\"image\" src=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image_thumb-6.png?resize=224%2C244&#038;ssl=1\" width=\"224\" height=\"244\" \/><\/a><\/p>\n<p>To get the URL and credentials, in Azure DevOps, go to Clone your repository, and copy the hyperlink and click on the \u2018Generate Git Credentials\u2019 button.&#160; Copy all of that over to the Code repository screen.<\/p>\n<p>I am going to chose a non-Dockerized ASP .NET Core Framework, and a Windows Web App.   <br \/><a href=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image-7.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"margin: 0px; display: inline; background-image: none;\" border=\"0\" alt=\"image\" src=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image_thumb-7.png?resize=244%2C152&#038;ssl=1\" width=\"244\" height=\"152\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image-8.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"margin: 0px; display: inline; background-image: none;\" border=\"0\" alt=\"image\" src=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image_thumb-8.png?resize=244%2C102&#038;ssl=1\" width=\"244\" height=\"102\" \/><\/a><\/p>\n<p>For the create step, you can name everything.&#160; If you click on additional settings, you can change the pricing tier.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image-9.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"margin: 0px; display: inline; background-image: none;\" border=\"0\" alt=\"image\" src=\"https:\/\/i0.wp.com\/blog.nukeitmike.com\/wp-content\/uploads\/2020\/10\/image_thumb-9.png?resize=244%2C187&#038;ssl=1\" width=\"244\" height=\"187\" \/><\/a><\/p>\n<p>Once you do that, it will deploy.&#160; This creates a DevOps Project, an Azure Resource Group for the DevOps Starter and applicable resources in the Resource Group you gave it for the deployed solution.&#160; <\/p>\n<p>I actually went through this a few different times to fully understand what I was doing.&#160; I don\u2019t work in a development role, but I do enjoy building stuff.&#160; It can be a bit much to understand\/remember\/follow if it isn\u2019t something you either need or do often.&#160; Don\u2019t forget to remove any resources you create for this that you aren\u2019t planning on continuing to use.&#160; If you are new to Azure, you can get some free credits to help you learn.&#160; It can get expensive if you aren\u2019t paying attention to what you are doing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, according to Wikipedia, CI\/CD is: In software engineering, CI\/CD or CICD generally refers to the combined practices of continuous integration and either continuous delivery or continuous deployment. CI\/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications. So, of course I get what&hellip; <a class=\"more-link\" href=\"https:\/\/blog.nukeitmike.com\/index.php\/2020\/10\/08\/what-is-this-ci-cd-thing-lets-do-a-tutorial\/\">Continue reading <span class=\"screen-reader-text\">What is this CI\/CD thing?  Let\u2019s do a tutorial!<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,7,17,37],"tags":[52,71,72,112,192],"class_list":["post-500","post","type-post","status-publish","format-standard","hentry","category-azure","category-devops","category-microsoft","category-web-stuff","tag-azure","tag-deployment","tag-devops","tag-learning","tag-web-stuff","entry"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pcW544-84","_links":{"self":[{"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/posts\/500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/comments?post=500"}],"version-history":[{"count":0,"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/posts\/500\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/media?parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/categories?post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nukeitmike.com\/index.php\/wp-json\/wp\/v2\/tags?post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}