हम कहीं से भी जेनकींस तक नहीं पहुंच सकते


3

हमने अभी अपने सर्वर (डेबियन 7 मेज़ज़ी) पर जेनकिन्स स्थापित किया है। यह स्थानीय नेटवर्क पर काम करता है, लेकिन बाहरी नेटवर्क पर नहीं। हम खोज करते हैं लेकिन हमें इस समस्या के लिए कोई समाधान नहीं मिलता है।

हम अपने सर्वर को पिंग कर सकते हैं लेकिन जब हम जेनकिंस के पते पर जाते हैं तो यह काम नहीं करता है।


क्या आपने अपनी फ़ायरवॉल सेटिंग्स की जाँच की?

क्या टॉमकैट पोर्ट 80 पर चल रहा है या यह अपाचे द्वारा सामने है?
David Levesque

मुझे लगता है कि जेनकींस का अपना कंटेनर है? नहीं?
fische

यह निर्भर करता है कि आपने इसे कैसे स्थापित किया है।
David Levesque

जवाबों:


2

संभवतः नीचे दिए गए कारणों के कारण:

1) आपका वेब सर्वर कॉन्फ़िगरेशन

अपाचे के लिए: सभी से अनुमति दें

टमाटर के लिए:

<Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

होना चाहिए

<Host name="www.example.com" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

2) आपकी फ़ायरवॉल सेटिंग्स (बाहरी कनेक्शन के लिए खुला पोर्ट)

3) जेनकिंस कॉन्फिग

सबसे पहले, डेबिन के लिए, संशोधित / आदि / डिफ़ॉल्ट / जेनकींस, एक पंक्ति जोड़ें HTTP_HOST = बाहरी पता (जैसे HTTP_HOST = www.example.com)

फिर, अपने JENKINS_ARGS (JENKINS_ARGS = "- webroot = / var / cache / jenkins / war-ttpPort = $ HTTP_PORT-ajp13Port = $ AJP_PORT-httpListenAddress_httpListenAddress = $ HTTP_HOST को अपने JENKINS_ARGS (JENKINS_ARGS =" जोड़ें) में जोड़ें।

अंत में, अपने जेनकींस को पुनः आरंभ करें


हमारे पास पहले से स्थापित अपाचे के साथ एक रेडमाइन है और यह अच्छा काम करता है। और iptables -L कमांड के साथ परिणाम है: चेन INPUT (नीति ACCEPT) लक्ष्य विरोध ऑप्ट स्रोत गंतव्य चेन FORWARD (नीति ACCEPT) लक्ष्य विरोध ऑप्ट स्रोत गंतव्य श्रृंखला OUTPUT (नीति ACCEPT) लक्ष्य विरोध स्रोत गंतव्य तो सामान्य सभी पोर्ट खुले हैं । नहीं?
fische

अपने फ़ायरवॉल को अक्षम करने का प्रयास करें: # /etc/init.d/iptables सहेजें # /etc/init.d/iptables रोकें क्या आपका रेडमाइन बाहरी नेटवर्क द्वारा सुलभ है? क्या आपके जेनकिंस और रेडमाइन को एक ही वेब सर्वर पर तैनात किया गया है? डिफ़ॉल्ट रूप से, जेनकिंस का अपना स्टैंडअलोन वेब सर्वर पोर्ट 8080 पर चल रहा है।
William LAM

हां, रेडमिन बाहरी नेटवर्क द्वारा हमेशा सुलभ होता है। Redmine और Jenkins एक ही सर्वर पर नहीं हैं (यानी Apache और tomcat)। मैं सच में समझ में नहीं आता। क्या जेनकिन के कॉन्फ़िगरेशन में कुछ भी बदलना है?
fische

अगर मैं जेनकिंस के पोर्ट को 80 (यानी रेडमीन का पोर्ट) में बदल दूं और मैं अपाचे को बंद कर दूं। जेनकिंस भी काम नहीं करते हैं।
fische

जेनकिंस कॉन्फिग के बारे में कैसे? under / etc / default / jenkins JENKINS_ARGS = "- webroot = / var / run / jenkins / war --httpPort = $ HTTP_PORT --ajp13Port = $ AJP_PORT_httpListenAddress = $ HTTP_HOST" $ HTTP_HOST "लोकलहोस्ट नहीं होना चाहिए" 0.1
William LAM

0

a) अपने घर के कंप्यूटर (जेनकिन्स कंप्यूटर नहीं) पर एक बैश शेल खोलें (विंडोज पर Git Bash ठीक करेगा)।

ख) अपने घर के कंप्यूटर पर 8080 पोर्ट करने के लिए जेनकींस कंप्यूटर पर "मानचित्र" पोर्ट 8080 के लिए एक सुरक्षित SSH TUNNEL के माध्यम से एक पोर्ट फॉरवर्ड करें। Git Bash शेल में ऐसा करने का कमांड है:

ssh -L 127.0.0.1:8080:localhost:8080 YourAdminName@xx.yyy.zzz.ab-i "C: \ PathToFolderContainMySecretKey"

यहाँ xx.yyy.zzz.ab आपका सार्वजनिक इंटरनेट पता है (उदा।, 62.187.151.9)। ध्यान दें कि -i के बाद का पथ आपके कंप्यूटर पर पथ है जहाँ आपने निजी कुंजी संग्रहीत की है जो जेनकींस कंप्यूटर पर आपके द्वारा उपयोग की गई सार्वजनिक कुंजी से मेल खाती है।

ग) और अब, आपके घर पर कंप्यूटर इस तरह से जुड़ सकता है: http: // localhost: 8080

d) पहली बार जब आप जेनकिंस को कॉन्फ़िगर करते हैं, तो आपको प्रारंभिक व्यवस्थापक पासवर्ड की आवश्यकता होगी। इसे कैसे प्राप्त करें। होम कंप्यूटर पर गिट बैश शेल में (याद रखें, आप पहले ही SSH के माध्यम से जेनकिंस कंप्यूटर से जुड़ चुके हैं):

sudo cat / var / lib / jenkins / सीक्रेट्स / initialAdminPassword

कॉपी करें और इसे अपने ब्राउज़र में पेस्ट करें, और आप चले जाएं!

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