Swift अनुप्रयोगों की तैनाती: VPS, Docker और क्लाउड — विचार से उत्पादन तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift सिर्फ मोबाइल डेवलपमेंट के लिए क्यों नहीं है

\n

जब आप "Swift" सुनते हैं, तो पहला जुड़ाव iOS ऐप्स, Xcode और iPhone सिम्युलेटर से होता है। लेकिन पिछले पांच वर्षों में, यह भाषा सर्वर-साइड डेवलपमेंट के लिए एक पूर्ण उपकरण में बदल गई है। Vapor, Hummingbird, SwiftNIO — ये सिर्फ लाइब्रेरी नहीं हैं, बल्कि एक इकोसिस्टम है जो Go और Rust से प्रतिस्पर्धा कर सकता है। समस्या कहीं और है: कई डेवलपर्स Swift में शानदार बैकएंड लिखते हैं, लेकिन तैनाती के चरण में अटक जाते हैं। परिचित लगता है?

\n

मैंने खुद यह रास्ता अपनाया: "Heroku पर डालो और भूल जाओ" से लेकर अपने खुद के VPS को Docker और CI/CD के साथ। इस लेख में, मैं बताऊंगा कि Swift अनुप्रयोगों को सही तरीके से कैसे तैनात किया जाए ताकि वे रात 3 बजे क्रैश न हों, और उपयोगकर्ता गुस्से वाले ईमेल न लिखें। स्पॉइलर: क्लाउड हमेशा चांदी की गोली नहीं होते, और VPS जितना लगता है उससे अधिक विश्वसनीय हो सकता है।

\n\n

हम क्या तैनात करेंगे: Vapor पर एक ऐप का उदाहरण

\n

स्पष्टता के लिए, हम Vapor 4 पर एक सामान्य REST API लेंगे। यह एक साधारण सर्वर होगा जिसमें एक एंडपॉइंट होगा जो JSON लौटाता है। कोड न्यूनतम है, लेकिन तैनाती के सभी चरणों को दिखाने के लिए पर्याप्त है।

\n\n
// Sources/App/routes.swift\nimport Vapor\n\nfunc routes(_ app: Application) throws {\n    app.get { req async in\n        return "Hello, Swift on Server!"\n    }\n    \n    app.get("api", "health") { req -> HTTPStatus in\n        return .ok\n    }\n}
\n\n

यह सब swift run या vapor run के माध्यम से चलाया जाता है। लेकिन प्रोडक्शन में कोई ऐसा नहीं करता। हमें एक स्थिर प्रक्रिया चाहिए: बिल्ड, पैकेजिंग, रन और मॉनिटरिंग।

\n\n

विकल्प 1: VPS — पुराना दोस्त दो नए से बेहतर

\n

वर्चुअल प्राइवेट सर्वर (VPS) — यह आपके अपने अपार्टमेंट जैसा है: पूर्ण नियंत्रण, लेकिन सफाई की जिम्मेदारी भी। Swift के लिए, यह एक आदर्श विकल्प है यदि आप समझना चाहते हैं कि सिस्टम अंदर से कैसे काम करता है।

\n\n

Swift के लिए VPS कैसे तैयार करें

\n

DigitalOcean, Hetzner या Vscale पर Ubuntu 22.04 (या 24.04) लें। Swift आधिकारिक तौर पर Ubuntu का समर्थन करता है, इसलिए कोई समस्या नहीं होगी।

\n\n
    \n
  • SSH के माध्यम से कनेक्ट करें: ssh root@your-server-ip
  • \n
  • डिपेंडेंसी इंस्टॉल करें: apt update && apt install -y clang libicu-dev libcurl4-openssl-dev libssl-dev
  • \n
  • swift.org से Swift 5.9+ डाउनलोड करें और /usr/local में अनज़िप करें
  • \n
\n\n
# Ubuntu पर Swift स्थापित करने का उदाहरण\nwget https://download.swift.org/swift-5.9.2-release/ubuntu2204/swift-5.9.2-RELEASE/swift-5.9.2-RELEASE-ubuntu22.04.tar.gz\ntar xzf swift-5.9.2-RELEASE-ubuntu22.04.tar.gz\nmv swift-5.9.2-RELEASE-ubuntu22.04 /usr/local/swift\necho 'export PATH=/usr/local/swift/usr/bin:$PATH' >> ~/.bashrc\nsource ~/.bashrc\nswift --version
\n\n

Git + systemd के माध्यम से तैनाती

\n

सबसे आसान तरीका: सर्वर पर रिपॉजिटरी क्लोन करें, बाइनरी बनाएं और इसे एक सेवा के रूप में चलाएं।

\n\n
# सर्वर पर\ngit clone https://github.com/yourname/your-swift-app.git\ncd your-swift-app\nswift build -c release\ncp .build/release/Run /usr/local/bin/myapp\n\n# systemd यूनिट बनाएं\nsudo nano /etc/systemd/system/myapp.service
\n\n
[Unit]\nDescription=My Swift App\nAfter=network.target\n\n[Service]\nExecStart=/usr/local/bin/myapp\nWorkingDirectory=/root/your-swift-app\nRestart=always\nUser=root\nEnvironment="PORT=8080"\n\n[Install]\nWantedBy=multi-user.target
\n\n

चलाएं: systemctl enable myapp && systemctl start myapp। हो गया! अब आपका एप्लिकेशन एक डेमॉन के रूप में चलता है और क्रैश होने पर पुनरारंभ होता है।

\n\n

VPS के फायदे: पूर्ण नियंत्रण, कम कीमत ($5–10/माह), कोई भी उपयोगिता स्थापित कर सकते हैं। नुकसान: मॉनिटरिंग, अपडेट और सुरक्षा स्वयं सेट करनी होती है। यदि आपका एप्लिकेशन बढ़ता है, तो आपको मैन्युअल रूप से स्केल करना होगा।

\n\n

विकल्प 2: Docker — Swift को कंटेनरीकृत करें

\n

Docker "मेरी मशीन पर काम करता है" समस्या को हल करता है। आप एप्लिकेशन को उसके वातावरण के साथ पैकेज करते हैं और

ब्लॉग

पुस्तक अनुशंसाएँ