<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Srashti Jain</title>
    <description>The latest articles on DEV Community by Srashti Jain (@srashtisj).</description>
    <link>https://dev.to/srashtisj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F354047%2F44e91f64-20c4-42fa-82a4-bee22c1073cd.png</url>
      <title>DEV Community: Srashti Jain</title>
      <link>https://dev.to/srashtisj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/srashtisj"/>
    <language>en</language>
    <item>
      <title>Angular CI/CD using Azure DevOps Pipeline</title>
      <dc:creator>Srashti Jain</dc:creator>
      <pubDate>Thu, 16 Apr 2020 10:51:17 +0000</pubDate>
      <link>https://dev.to/angular/angular-ci-cd-using-azure-devops-pipeline-3oog</link>
      <guid>https://dev.to/angular/angular-ci-cd-using-azure-devops-pipeline-3oog</guid>
      <description>&lt;p&gt;In the previous article, we discussed DevOps and also looked into getting started with Azure DevOps. In case you missed please try to go through it before we start, for better understanding.&lt;/p&gt;

&lt;p&gt;Here’s the link for the previous article: &lt;a href="https://medium.com/@srashtisj/azure-devops-whats-that-9005aa9283f7" rel="noopener noreferrer"&gt;Azure DevOps! What’s that??&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article, we will see how we can apply CI/CD to our Angular application, using Azure Pipeline. This will be a quick step by step guide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;  After login to &lt;a href="https://azure.microsoft.com/en-in/services/devops/" rel="noopener noreferrer"&gt;Azure DevOps portal&lt;/a&gt;, create a new project&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AxU6nfPX7GkWrVHV37Vf71w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AxU6nfPX7GkWrVHV37Vf71w.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;  Click on Pipelines inside side menu options&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2660%2F1%2AYyWeCCsNe56yDQGPKfkvbQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2660%2F1%2AYyWeCCsNe56yDQGPKfkvbQ.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt;  Now, click on Create Pipeline&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AXaO9WsZtd5j2EB3m36iG1Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AXaO9WsZtd5j2EB3m36iG1Q.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt;  Select the source of Repository, as you can see, there are many options&lt;br&gt;
here we’re connecting with GitHub&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A4NOdEbSudvMhrBzNT6Gvgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A4NOdEbSudvMhrBzNT6Gvgg.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt;  After Authentication, select the repository - you will be able to see all the repositories in your account (Public/Private) — Select the repository&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A2bsY3XLzbvurN6_rWB5LkQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A2bsY3XLzbvurN6_rWB5LkQ.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt;  In the configuration section, choose the predefined template for Angular&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A-IjvOO8jo2ZTm8s6_nZhMw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2A-IjvOO8jo2ZTm8s6_nZhMw.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7:&lt;/strong&gt;  After that, you’d be able to see some YAML code — Azure DevOps worked on YAML code&lt;/p&gt;

&lt;p&gt;Over here you can see we set a &lt;strong&gt;trigger&lt;/strong&gt; on master branch — so whenever there will be any change in the master branch this pipeline will be triggered&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;scripts&lt;/strong&gt; section, you can see it’s the same command which we run while creating a production release. (It can be updated accordingly)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8:&lt;/strong&gt; You can also add some more tasks in the .yml file from the side Tasks section&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2248%2F1%2APM9u6ggSqvZcKT17Ckm2KQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2248%2F1%2APM9u6ggSqvZcKT17Ckm2KQ.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are a lot of actions available in the Tasks section, you just have to choose whatever you required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2ABeDWR9ioJNGDhz8p0Djqew.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2ABeDWR9ioJNGDhz8p0Djqew.gif" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9:&lt;/strong&gt;  Click on “&lt;strong&gt;Save and Run&lt;/strong&gt;”. &lt;br&gt;
This .yml file will be saved in your repository itself, you can update it from here or from GitHub anytime as per the requirements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AjHguJqiKaEnhUoSs4YwyNw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2AjHguJqiKaEnhUoSs4YwyNw.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10:&lt;/strong&gt;  Now, you will be able to see this screen&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2214%2F1%2A14reM2a9L9WMOecmYh354g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2214%2F1%2A14reM2a9L9WMOecmYh354g.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom!!! — Here you go, it’s done!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2ASePXDgPLnRTELMebvNKbDw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F1%2ASePXDgPLnRTELMebvNKbDw.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, this was the basic setup — And I know it was too easy to get started with Azure DevOps Pipeline. 😊&lt;/p&gt;

&lt;p&gt;In the upcoming article, we will check how we can add an approval step before deployment. It’s required at the time of production release or will talk more about YAML — please let me know which one you want first, in the comment section. Stay connected!&lt;/p&gt;

&lt;p&gt;Feel free to connect with me on &lt;a href="https://twitter.com/srashtisj" rel="noopener noreferrer"&gt;Twitter &lt;/a&gt;and &lt;a href="https://www.linkedin.com/in/srashtisj/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; 💖&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
