GitLab Automatic परिनियोजित


2

मैं क्लास कोड होस्ट करने के लिए अपने स्कूल में एक gitlab सर्वर बनाऊंगा। मैं इसे बनाना चाहता हूं ताकि हर बार कोई भी उपयोगकर्ता गिटलैब को धक्का दे, यह स्वचालित रूप से प्रोजेक्ट को /var/www/gitdeploy/<repo-user>/<repo>/<branch>इस तरह http://<myServer>/gitdeploy/<repo-user>/<repo>/<branch>से एक्सेस करता है, जो कि सुलभ है।

अधिमानतः यह सभी शाखाओं को तैनात करेगा, लेकिन कम से कम मास्टर ठीक होगा। यह सब एक ही सर्वर पर चल रहा होगा।

मैंने Gitlab CI के बारे में सुना, लेकिन यह सुनिश्चित नहीं था कि यह मेरे लिए था, और मुझे समझ नहीं आया कि इसे कैसे स्थापित किया जाए।

मैं ये कैसे करूं?

संपादित करें: इसके अलावा, मुझे लगता है कि मुझे यह निर्दिष्ट करना चाहिए कि मैं इसे सभी उपयोगकर्ताओं के लिए चाहता हूं, उम्मीद है कि मेरे बिना यह प्रत्येक उपयोगकर्ता के लिए इसे कॉन्फ़िगर करेगा, बर्फ वैश्विक

जवाबों:


4

आप इसे एक git सर्वर-साइड हुक (जैसे post-receive) के साथ कर सकते हैं जो आपके कोड को दर्शाती है। Gitlab CI को इसके लिए डिज़ाइन किया गया है, और आपको इसका उपयोग करने पर विचार करना चाहिए।

यदि आप एक हुक के साथ जाते हैं, तो हुक एक शेल स्क्रिप्ट होगा .git/hooks/post-receive/। इसे परिनियोजन क्रेडेंशियल्स की आवश्यकता होगी और आपको इसे स्वयं लिखना होगा। हालांकि, यह हुक का एक उपयोग मामला है। दस्तावेज़ देखें: https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

इसके अलावा gitlab- विशिष्ट दस्तावेज़ देखें: http://doc.gitlab.com/ce/hooks/custom_hooks.html


मैंने उन लोगों को पहले देखा है, लेकिन मैं एक वैश्विक समाधान की तलाश में था। (सभी उपयोगकर्ता)
केडन प्रिंस

सर्वर-साइड हुक सभी उपयोगकर्ताओं पर लागू होना चाहिए। वे अक्सर नीति प्रवर्तन के लिए उपयोग किए जाते हैं।
फाल्कन मोमेंट

ठीक है, मेरा मतलब सभी रिपोजिटरी है।
केडन प्रिंस

नहीं, मुझे लगता है कि आपको प्रत्येक भंडार के लिए इसे स्थापित करना होगा, लेकिन यह सभी शाखाओं पर लागू होगा।
फाल्कन मोमेंट

मेरे पास पहले से ही अपने सर्वर पर जगह है। चूँकि इसका उपयोग 20+ लोगों के लिए किया जाएगा, और संभवतः स्कूल छोड़ने के बाद इसका उपयोग किया जाएगा, मैं इसे सभी रिपोस के लिए स्वचालित होना पसंद करूंगा
केडन प्रिंस

0

मैंने एक संभावित समाधान का पता लगाया, 'ओम्निबस' स्थापित में, मेरा मानना ​​है कि कुछ रूबी कोड जोड़कर एक वैश्विक हुक बनाना संभव है /opt/gitlab/embedded/service/gitlab-shell/hooks/post-receive। हालाँकि, जब भी आप gitlab को अपडेट करते हैं, तो हुक पैकेज संस्करण में वापस आ जाएगा। मैं इससे बचने के लिए पैकेज रखने का सुझाव दूंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.