<?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: Nirav Madariya</title>
    <description>The latest articles on DEV Community by Nirav Madariya (@niravmadariya).</description>
    <link>https://dev.to/niravmadariya</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%2F337637%2F8dede85a-a2ad-4579-a0ad-72be0a7d4dae.jpeg</url>
      <title>DEV Community: Nirav Madariya</title>
      <link>https://dev.to/niravmadariya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/niravmadariya"/>
    <language>en</language>
    <item>
      <title>Basic DevOps in Azure Websites (and Behind the scenes 👅)</title>
      <dc:creator>Nirav Madariya</dc:creator>
      <pubDate>Wed, 13 Mar 2019 16:11:54 +0000</pubDate>
      <link>https://dev.to/niravmadariya/basic-devops-in-azure-websites-and-behind-the-scenes-2g44</link>
      <guid>https://dev.to/niravmadariya/basic-devops-in-azure-websites-and-behind-the-scenes-2g44</guid>
      <description>&lt;p&gt;If you wanna implement CI/CD in your webapp in azure, you don’t need to be a “PRO”.&lt;/p&gt;

&lt;p&gt;A feature &lt;strong&gt;Deployment center&lt;/strong&gt; in Azure websites comes with all Azure Websites, formerly known as continuous delivery tab.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Introduction *&lt;/em&gt; :&lt;/p&gt;

&lt;p&gt;Deployment Center (Basic CI/CD) comes with several options to deploy from (Source control)and platform to be deployed by (Build Provider), described as follow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment options (Source control):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://azure.microsoft.com/en-us/services/devops/repos/" rel="noopener noreferrer"&gt;Azure Repos&lt;/a&gt; (from Azure DevOps)&lt;/li&gt;
&lt;li&gt;Github 🐙&lt;/li&gt;
&lt;li&gt;BitBucket&lt;/li&gt;
&lt;li&gt;Local Git&lt;/li&gt;
&lt;li&gt;OneDrive&lt;/li&gt;
&lt;li&gt;DropBox&lt;/li&gt;
&lt;li&gt;External (Public Git or Mercurial repo)&lt;/li&gt;
&lt;li&gt;FTP&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Deployment options (to be deployed by/Build Provider)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Kudu Services&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://azure.microsoft.com/en-us/services/devops/pipelines/" rel="noopener noreferrer"&gt;Azure Pipelines&lt;/a&gt; (Preview)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’ll be explaining Basic DevOps with Azure websites in just 4 steps. Let’s get started.&lt;/p&gt;

&lt;p&gt;Step 1 : Go to “Deployment center” from settings pane left side&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F308%2F1%2Akgud411oPaiN3ts02d0EZw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F308%2F1%2Akgud411oPaiN3ts02d0EZw.png"&gt;&lt;/a&gt;Deployment center in Azure websites&lt;/p&gt;

&lt;p&gt;Setup the Source control from step 1,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AajeX2_bC43SRe4R-20L1tQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AajeX2_bC43SRe4R-20L1tQ.png"&gt;&lt;/a&gt;Step 1 : select source control&lt;/p&gt;

&lt;p&gt;Step 2 : Select build provider&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AYLX-LHB1Lhqy2qBvkl-CXg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AYLX-LHB1Lhqy2qBvkl-CXg.png"&gt;&lt;/a&gt;Step 2 : Select Build provider&lt;/p&gt;

&lt;p&gt;Step 3 : Configure Source Control&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A1sK2xR0Ax8UoM4CgzKEeQQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A1sK2xR0Ax8UoM4CgzKEeQQ.png"&gt;&lt;/a&gt;Step 3 : Configure source control&lt;/p&gt;

&lt;p&gt;Step 4 : Confirm the selections you made :P&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AomSvhPL7bJYxSb6z52-xCQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AomSvhPL7bJYxSb6z52-xCQ.png"&gt;&lt;/a&gt;step 4 : Summary&lt;/p&gt;

&lt;p&gt;That’s all. You are good to go.&lt;/p&gt;

&lt;p&gt;From now on, what ever you commit on the GitHub repository you configured, it will be automatically be updated in the Azure website.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Behind the Scenes :&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The Azure website you configured, that has Kudu services behind the scenes working. Which you can access at https://&amp;lt;your_app&amp;gt;.scm.azurewebsires.net, which uses your Azure login.&lt;/p&gt;

&lt;p&gt;In your GitHub repository you just configured, that have a webhook configured to push into your Azure website Kudu service, see below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AA4VEwYRJYzBdNCoPJ_dTwg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AA4VEwYRJYzBdNCoPJ_dTwg.jpeg"&gt;&lt;/a&gt;Behind the scenes : WebHook&lt;/p&gt;

&lt;p&gt;As soon as you commit and push some changes to the repository, it will trigger the url as https://&amp;lt;your-website&amp;gt;.scm.azurewebsites.net/deploy&lt;/p&gt;

&lt;p&gt;Which in turn will get the latest changes from your repo and try to build the application.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Verify your Deployment :&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;From Overview of the application you’ll see the source control details, as below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2Av3UkGhx40yPmkJjnjhSS0A.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2Av3UkGhx40yPmkJjnjhSS0A.png"&gt;&lt;/a&gt;Verify Deployment settings — 1&lt;/p&gt;

&lt;p&gt;Also, in Deployment center you’ll see the latest builds, Deployment details, it’s status (Succeeded or Failed), which build is active, and Logs for more information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AKtwH-zpy0TZv8gVRl3LpRw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AKtwH-zpy0TZv8gVRl3LpRw.png"&gt;&lt;/a&gt;Verify Deployment settings — 2&lt;/p&gt;

&lt;p&gt;That’s All.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Disclaimer :&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This type of Auto Deployment is just for Dev/Test purpose, this is not recommended for your production workloads.&lt;/p&gt;

&lt;p&gt;Hope this article has walked you clear with the concepts of Basic DevOps(CI/CD) for Azure app services. In case you want to connect with me you can DM me in twitter at &lt;a href="https://twitter.com/niravmadariya" rel="noopener noreferrer"&gt;https://twitter.com/niravmadariya&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please don’t forget to clap for the article if you liked reading it. See you soon with more concepts in Azure :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask experts what to do next&lt;/li&gt;
&lt;li&gt;Start Learning &lt;a href="https://docs.microsoft.com/en-us/learn/browse/?products=azure" rel="noopener noreferrer"&gt;Azure Cloud Devlopment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Have a look at &lt;a href="https://docs.microsoft.com/en-us/azure/" rel="noopener noreferrer"&gt;Azure Documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>continuousintegrati</category>
      <category>azurewebsites</category>
      <category>continuousdeploymen</category>
      <category>continuousdelivery</category>
    </item>
    <item>
      <title>Azure MySQL in App for App services</title>
      <dc:creator>Nirav Madariya</dc:creator>
      <pubDate>Sat, 10 Nov 2018 18:59:42 +0000</pubDate>
      <link>https://dev.to/niravmadariya/azure-mysql-in-app-for-app-services-4odm</link>
      <guid>https://dev.to/niravmadariya/azure-mysql-in-app-for-app-services-4odm</guid>
      <description>&lt;p&gt;When you need a database for your website, why purchase a separate database service?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RZnLyDlz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/400/1%2AYfki03qFEIyx1vIPvgzh3A.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RZnLyDlz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/400/1%2AYfki03qFEIyx1vIPvgzh3A.jpeg" alt=""&gt;&lt;/a&gt;MySQL in app in Azure app service&lt;/p&gt;

&lt;p&gt;MySQL in app was announced in March, 2017. Azure provides MySQL within your web app (App service), every web app in Azure has MySQL in app as an option. For &lt;a href="https://azure.microsoft.com/en-us/blog/mysql-in-app-preview-app-service/"&gt;Windows&lt;/a&gt; hosting MySQL in app service is available.&lt;/p&gt;

&lt;p&gt;Note that, this can be used for small projects or dev/test projects, when moving to production you might want to consider &lt;a href="https://azure.microsoft.com/en-in/services/mysql/"&gt;Azure database for MySQL&lt;/a&gt;, which is Enterprise-ready, fully managed community MySQL database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This option comes disabled by default in every app service you create. In order to have MySQL in app database, you need to enable it from your web app settings, as shown below :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p7dUcbZt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A1QdWOWmE1XuRDynvz87GJQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p7dUcbZt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A1QdWOWmE1XuRDynvz87GJQ.png" alt=""&gt;&lt;/a&gt;Enabling MySQL in app for Azure app services&lt;/p&gt;

&lt;p&gt;After enabling it, wait for couple of minutes to enable certain services for your web app, which includes some cool stuff such as &lt;a href="https://www.phpmyadmin.net/"&gt;phpmyadmin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After enabling it, you’ll see the screen as below :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fcCYYmw7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1015/1%2AN5FyoH-D79YEnwuFUbU_6A.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fcCYYmw7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1015/1%2AN5FyoH-D79YEnwuFUbU_6A.png" alt=""&gt;&lt;/a&gt;MySQL in App Settings&lt;/p&gt;

&lt;p&gt;To secure the connection between your app and your MySQL Database, you have an environment variable named “MYSQLCONNSTR_localdb” which contains value as connection string for your in app MySQL database.&lt;/p&gt;

&lt;p&gt;Now, access your phpmyadmin go to : &lt;a href="https://yoursite.scm.azurewebsites.net/phpmyadmin"&gt;https://.scm.azurewebsites.net/phpmyadmin&lt;/a&gt;. You have phpmyadmin now, which means you can start using MySQL database.&lt;/p&gt;

&lt;p&gt;You can connect to in app MySQL as below :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    //below will give the whole connectionstring in a single string
    $conn = getenv("MYSQLCONNSTR\_localdb"); 

    //Let's split it and decorate it in an array
    $conarr2 = explode(";",$conn); 
    $conarr = array();
    foreach($conarr2 as $key=&amp;gt;$value){
        $k = substr($value,0,strpos($value,'='));
        $conarr[$k] = substr($value,strpos($value,'=')+1);
    }
    // $conarr is an array of values of connection string
    print\_r($conarr); 
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;There you go, you have now connection details to MySQL in app available within your app service, now you can use &lt;strong&gt;mysqli_*&lt;/strong&gt; functions or &lt;strong&gt;PDO&lt;/strong&gt; to perform CRUD operations and much more.&lt;/p&gt;

&lt;p&gt;Hope this article has walked you clear with the concepts of MySQL in app for Azure app services. In case you want to connect with me you can DM me in twitter at &lt;a href="https://twitter.com/niravmadariya"&gt;https://twitter.com/niravmadariya&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please don’t forget to clap for the article if you liked reading it. See you soon with more concepts in Azure :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask MSPs (Microsoft Student Partners) what to do next&lt;/li&gt;
&lt;li&gt;Start Learning &lt;a href="https://docs.microsoft.com/en-us/learn/#!jobf=Developer&amp;amp;lang=1033"&gt;Azure Cloud Devlopment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;See &lt;a href="https://docs.microsoft.com/en-us/azure/"&gt;Azure Documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>azure</category>
      <category>azureservices</category>
      <category>mysql</category>
      <category>azurewebsites</category>
    </item>
  </channel>
</rss>
