๐—ฆ๐˜๐—ฒ๐—ฝ-๐—ฏ๐˜†-๐—ฆ๐˜๐—ฒ๐—ฝ ๐—š๐˜‚๐—ถ๐—ฑ๐—ฒ: ๐—ฆ๐—ฒ๐˜๐˜๐—ถ๐—ป๐—ด ๐—จ๐—ฝ ๐—ฎ ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ ๐—ณ๐—ผ๐—ฟ ๐—”๐—ฆ๐—ฃ.๐—ก๐—˜๐—ง ๐—–๐—ผ๐—ฟ๐—ฒ ๐—ช๐—ฒ๐—ฏ ๐—”๐—ฝ๐—ฝ ๐—จ๐˜€๐—ถ๐—ป๐—ด ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐—”๐—ฝ๐—ฝ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ

๐—ฆ๐˜๐—ฒ๐—ฝ-๐—ฏ๐˜†-๐—ฆ๐˜๐—ฒ๐—ฝ ๐—š๐˜‚๐—ถ๐—ฑ๐—ฒ: ๐—ฆ๐—ฒ๐˜๐˜๐—ถ๐—ป๐—ด ๐—จ๐—ฝ ๐—ฎ ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ ๐—ณ๐—ผ๐—ฟ ๐—”๐—ฆ๐—ฃ.๐—ก๐—˜๐—ง ๐—–๐—ผ๐—ฟ๐—ฒ ๐—ช๐—ฒ๐—ฏ ๐—”๐—ฝ๐—ฝ ๐—จ๐˜€๐—ถ๐—ป๐—ด ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐—”๐—ฝ๐—ฝ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ

Publish Date: May 28
0 1

Today, I practiced creating a complete ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ in Azure DevOps for deploying a sample ๐—”๐—ฆ๐—ฃ.๐—ก๐—˜๐—ง ๐—–๐—ผ๐—ฟ๐—ฒ ๐˜„๐—ฒ๐—ฏ ๐—ฎ๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป across ๐——๐—ฒ๐˜ƒ, ๐—ง๐—ฒ๐˜€๐˜, ๐—ฎ๐—ป๐—ฑ ๐—ฃ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜๐—ถ๐—ผ๐—ป environments using ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐—”๐—ฝ๐—ฝ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ.

โœ… ๐Ÿญ. ๐—ฃ๐—ฟ๐—ฒ๐—ฝ๐—ฎ๐—ฟ๐—ฒ ๐˜๐—ต๐—ฒ ๐—•๐˜‚๐—ถ๐—น๐—ฑ ๐—”๐—ฟ๐˜๐—ถ๐—ณ๐—ฎ๐—ฐ๐˜

  • Created a CI pipeline to build and publish the ASP.NET Core app
  • Generated the artifact (.zip or .dll files) to be used in the release pipeline

โœ… ๐Ÿฎ. ๐—ฆ๐—ฒ๐˜ ๐—จ๐—ฝ ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐—”๐—ฝ๐—ฝ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ๐˜€

  • Created three Azure App Services (or deployment slots):

    • One for ๐——๐—ฒ๐˜ƒ๐—ฒ๐—น๐—ผ๐—ฝ๐—บ๐—ฒ๐—ป๐˜
    • One for ๐—ง๐—ฒ๐˜€๐˜๐—ถ๐—ป๐—ด (๐—ค๐—”)
    • One for ๐—ฃ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜๐—ถ๐—ผ๐—ป

โœ… ๐Ÿฏ. ๐—–๐—ฟ๐—ฒ๐—ฎ๐˜๐—ฒ ๐—ฎ ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ ๐—ถ๐—ป ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐——๐—ฒ๐˜ƒ๐—ข๐—ฝ๐˜€

  • Navigated to ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ๐˜€ > ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ๐˜€ > ๐—ก๐—ฒ๐˜„ ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ
  • Linked the build artifact from the CI pipeline
  • Defined ๐˜๐—ต๐—ฟ๐—ฒ๐—ฒ ๐˜€๐˜๐—ฎ๐—ด๐—ฒ๐˜€: Dev, Test, and Production

โœ… ๐Ÿฐ. ๐—–๐—ผ๐—ป๐—ณ๐—ถ๐—ด๐˜‚๐—ฟ๐—ฒ ๐—˜๐—ฎ๐—ฐ๐—ต ๐—ฆ๐˜๐—ฎ๐—ด๐—ฒ

  • Added the ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐—”๐—ฝ๐—ฝ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜† ๐˜๐—ฎ๐˜€๐—ธ in each stage
  • Selected the appropriate app service for the environment
  • Used variables to manage environment-specific settings (like connection strings or API keys)

โœ… ๐Ÿฑ. ๐—”๐—ฑ๐—ฑ ๐—”๐—ฝ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฎ๐—น ๐—š๐—ฎ๐˜๐—ฒ๐˜€

  • Added ๐—ฝ๐—ฟ๐—ฒ-๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜ ๐—ฎ๐—ฝ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฎ๐—น๐˜€ before the Production stage to ensure safe and reviewed deployments
  • Set conditions for sequential deployment (Dev โ†’ Test โ†’ Prod)

โœ… ๐Ÿฒ. ๐——๐—ฒ๐—ฝ๐—น๐—ผ๐˜† ๐—ฎ๐—ป๐—ฑ ๐—ฉ๐—ฎ๐—น๐—ถ๐—ฑ๐—ฎ๐˜๐—ฒ

  • Triggered the pipeline
  • Verified successful deployment to each environment
  • Ensured the web app ran correctly in Dev, Test, and Prod stages

This setup ensures ๐—ฎ๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ฒ๐—ฑ, ๐—ฟ๐—ฒ๐—น๐—ถ๐—ฎ๐—ฏ๐—น๐—ฒ, ๐—ฎ๐—ป๐—ฑ ๐—ฐ๐—ผ๐—ป๐˜๐—ฟ๐—ผ๐—น๐—น๐—ฒ๐—ฑ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜๐˜€ across environmentsโ€”minimizing errors and improving delivery speed.

๐—›๐—ผ๐˜„ ๐—ฑ๐—ผ ๐˜†๐—ผ๐˜‚ ๐—ต๐—ฎ๐—ป๐—ฑ๐—น๐—ฒ ๐—ฒ๐—ป๐˜ƒ๐—ถ๐—ฟ๐—ผ๐—ป๐—บ๐—ฒ๐—ป๐˜-๐˜€๐—ฝ๐—ฒ๐—ฐ๐—ถ๐—ณ๐—ถ๐—ฐ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜๐˜€ ๐—ถ๐—ป ๐˜†๐—ผ๐˜‚๐—ฟ ๐—–๐—œ/๐—–๐—— ๐˜„๐—ผ๐—ฟ๐—ธ๐—ณ๐—น๐—ผ๐˜„๐˜€? ๐—›๐—ฎ๐˜ƒ๐—ฒ ๐˜†๐—ผ๐˜‚ ๐—ถ๐—บ๐—ฝ๐—น๐—ฒ๐—บ๐—ฒ๐—ป๐˜๐—ฒ๐—ฑ ๐—ฎ ๐—บ๐˜‚๐—น๐˜๐—ถ-๐˜€๐˜๐—ฎ๐—ด๐—ฒ ๐—ฟ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—ฝ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ ๐˜„๐—ถ๐˜๐—ต ๐—ฎ๐—ฝ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฎ๐—น ๐—ด๐—ฎ๐˜๐—ฒ๐˜€ ๐—ถ๐—ป ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ ๐——๐—ฒ๐˜ƒ๐—ข๐—ฝ๐˜€?

Comments 1 total

Add comment