<?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: Muhammad Zohaib Irshad</title>
    <description>The latest articles on DEV Community by Muhammad Zohaib Irshad (@developer_zohaib).</description>
    <link>https://dev.to/developer_zohaib</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%2F3870398%2F61cf4cab-35b8-4bba-bfa7-b636a838ffe8.jpeg</url>
      <title>DEV Community: Muhammad Zohaib Irshad</title>
      <link>https://dev.to/developer_zohaib</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/developer_zohaib"/>
    <language>en</language>
    <item>
      <title>CI/CD Pipeline Implementation: Django Application Deployment</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Sat, 16 May 2026 06:28:40 +0000</pubDate>
      <link>https://dev.to/developer_zohaib/cicd-pipeline-implementation-django-application-deployment-o98</link>
      <guid>https://dev.to/developer_zohaib/cicd-pipeline-implementation-django-application-deployment-o98</guid>
      <description>&lt;p&gt;**Technical Architecture:&lt;br&gt;
**Infrastructure Layer:&lt;/p&gt;

&lt;p&gt;AWS EC2 t2.medium instance (Jenkins controller + application host)&lt;br&gt;
Security group configuration for ports 8080 (Jenkins) and 8000 (Django)&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Integration &amp;amp; Security:&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
GitHub PAT-based authentication (repo:read, webhook:write permissions)&lt;br&gt;
Webhook triggers for automated pipeline execution&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Pipeline Components:&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Source Control Management: GitHub repository polling&lt;br&gt;
Build Stage: Docker image creation from Dockerfile&lt;br&gt;
Container Management: Stop existing containers, prune unused images&lt;br&gt;
Deployment: Docker run with port mapping and environment variables&lt;/p&gt;

&lt;p&gt;**Automation Flow:&lt;br&gt;
**Git push → Webhook trigger → Jenkins build → Docker containerization → Automated deployment&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqayx802qr4i7op8l1av7.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqayx802qr4i7op8l1av7.png" alt="Jenkins Deployment Screenshot" width="800" height="430"&gt;&lt;/a&gt;&lt;br&gt;
Key Learnings:&lt;/p&gt;

&lt;p&gt;Infrastructure as Code principles&lt;br&gt;
Container orchestration fundamentals&lt;br&gt;
Security best practices for CI/CD authentication&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqz2hguunkxwef2g7byt.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqz2hguunkxwef2g7byt.png" alt="Terminal Screenshot" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  DevOps #CICD #Jenkins #Docker #AWS #EC2 #Django #Automation #InfrastructureAsCode
&lt;/h1&gt;

</description>
      <category>jenkins</category>
      <category>automation</category>
      <category>ec2</category>
      <category>cicd</category>
    </item>
    <item>
      <title>𝗠𝗮𝘀𝘁𝗲𝗿𝗶𝗻𝗴 𝗖𝗼𝗻𝘁𝗮𝗶𝗻𝗲𝗿 𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗶𝗼𝗻 𝘄𝗶𝘁𝗵 𝗗𝗼𝗰𝗸𝗲𝗿 &amp; 𝗔𝗪𝗦 𝗘𝗖𝗦! 🚀</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Tue, 05 May 2026 05:37:56 +0000</pubDate>
      <link>https://dev.to/developer_zohaib/--2d0n</link>
      <guid>https://dev.to/developer_zohaib/--2d0n</guid>
      <description>&lt;p&gt;I am thrilled to share that I've just successfully deployed a scalable Node.js application to the cloud! ☁️&lt;/p&gt;

&lt;p&gt;Key milestones of this build:&lt;br&gt;
&lt;strong&gt;𝗖𝗼𝗻𝘁𝗮𝗶𝗻𝗲𝗿𝗶𝘇𝗮𝘁𝗶𝗼𝗻:&lt;/strong&gt; Built optimized, multi-stage Docker images for efficiency.&lt;br&gt;
&lt;strong&gt;𝗖𝗹𝗼𝘂𝗱 𝗥𝗲𝗴𝗶𝘀𝘁𝗿𝘆:&lt;/strong&gt; Streamlined deployment workflows using AWS ECR.&lt;br&gt;
&lt;strong&gt;𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗶𝗼𝗻:&lt;/strong&gt; Mastered ECS clusters and task definitions to manage my services like a pro.&lt;br&gt;
&lt;strong&gt;𝗔𝘂𝘁𝗼-𝗦𝗰𝗮𝗹𝗶𝗻𝗴:&lt;/strong&gt; Configured dynamic policies that handle traffic spikes based on real-world CPU utilization.&lt;br&gt;
&lt;strong&gt;𝗭𝗲𝗿𝗼-𝗗𝗼𝘄𝗻𝘁𝗶𝗺𝗲:&lt;/strong&gt; Implemented rolling updates and health checks to ensure my application stays stable and user-friendly 24/7.&lt;/p&gt;

&lt;p&gt;Learning how to automate these processes is a total game changer for my DevOps journey. The ability to manage containers at scale is a superpower in today’s cloud-native world!&lt;/p&gt;

&lt;p&gt;What’s next? Onwards to more cloud challenges! 💡&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufdaoagg28dzf6xwe7u4.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufdaoagg28dzf6xwe7u4.png" alt="AWS ECS ScreenShot" width="800" height="387"&gt;&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbts47crhtkss20cncme.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbts47crhtkss20cncme.png" alt="Docker CLI" width="796" height="508"&gt;&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxibn1t2q9qfq75dn02ps.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxibn1t2q9qfq75dn02ps.png" alt="Docker Image push terminal" width="800" height="683"&gt;&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9fa8775lz1ikf4wb5jx.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9fa8775lz1ikf4wb5jx.png" alt="Docker Image push terminal" width="800" height="820"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>containers</category>
      <category>ecs</category>
      <category>devops</category>
    </item>
    <item>
      <title>𝗗𝗲𝗽𝗹𝗼𝘆𝗶𝗻𝗴 𝗮 𝗡𝗼𝗱𝗲.𝗷𝘀 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲 𝘁𝗼 𝗔𝗪𝗦 𝗘𝗖𝟮 𝘄𝗶𝘁𝗵 𝗖𝗜/𝗖𝗗 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲 ☁️</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Sun, 03 May 2026 06:02:05 +0000</pubDate>
      <link>https://dev.to/developer_zohaib/--ffk</link>
      <guid>https://dev.to/developer_zohaib/--ffk</guid>
      <description>&lt;p&gt;I’ve optimized my deployment workflow by integrating GitHub Actions with a Self-Hosted Runner on AWS EC2.&lt;br&gt;
The Workflow:&lt;br&gt;
𝗧𝗿𝗶𝗴𝗴𝗲𝗿: Push to 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftj13g3dbdd1pzxy7migo.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftj13g3dbdd1pzxy7migo.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
𝗥𝘂𝗻𝗻𝗲𝗿: Self-hosted on EC2 for faster, cost-effective builds.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftp3zg87hu22qr8n6dodq.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftp3zg87hu22qr8n6dodq.png" alt=" " width="793" height="138"&gt;&lt;/a&gt;&lt;br&gt;
𝗗𝗲𝗽𝗹𝗼𝘆𝗺𝗲𝗻𝘁: Automated script updating the Node.js service via PM2.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsj6tx558tgqcow18d55k.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsj6tx558tgqcow18d55k.png" alt=" " width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
𝗧𝗿𝗮𝗳𝗳𝗶𝗰: Nginx reverse proxy handling incoming HTTP requests.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq7g343dq5ecv4d5ulx1m.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq7g343dq5ecv4d5ulx1m.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This setup eliminates manual intervention, reduces deployment lag, and provides full control over the production environment.&lt;br&gt;
Bridging the gap between Code and Cloud. ☁️&lt;/p&gt;

</description>
      <category>backend</category>
      <category>aws</category>
      <category>githubactions</category>
      <category>devops</category>
    </item>
    <item>
      <title>𝗣𝗥 𝗺𝗲𝗿𝗴𝗲𝗱: 𝗔𝘇𝘂𝗿𝗲 𝗢𝗽𝗲𝗻𝗔𝗜 𝘀𝘂𝗽𝗽𝗼𝗿𝘁 𝗳𝗼𝗿 𝗝𝗼𝗽𝗹𝗶𝗻 𝗣𝗹𝘂𝗴𝗶𝗻 𝗝𝗮𝗿𝘃𝗶𝘀! 🚀</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Thu, 09 Apr 2026 18:24:00 +0000</pubDate>
      <link>https://dev.to/developer_zohaib/--235d</link>
      <guid>https://dev.to/developer_zohaib/--235d</guid>
      <description>&lt;p&gt;I’m excited to share my latest open source contribution, enabling Azure OpenAI integration for the Jarvis ecosystem.&lt;br&gt;
𝗧𝗵𝗲 𝗜𝗺𝗽𝗮𝗰𝘁:&lt;br&gt;
 • Seamless Integration: Added support via the OpenAI-compatible custom model path.&lt;br&gt;
 • Optimized Architecture: Refactored header handling for better provider flexibility.&lt;br&gt;
 • Reliability: Preserved critical retry logic for stable note indexing.&lt;br&gt;
Open source is about building together and making tools better for everyone. If you’ve been waiting to use Azure with your notes, it’s ready for you!&lt;br&gt;
Check it out here: &lt;a href="https://github.com/alondmnt/joplin-plugin-jarvis/pull/66" rel="noopener noreferrer"&gt;https://github.com/alondmnt/joplin-plugin-jarvis/pull/66&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5rcp4a26xc6yhwafrd9.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5rcp4a26xc6yhwafrd9.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>azure</category>
      <category>openai</category>
      <category>joplin</category>
    </item>
  </channel>
</rss>
