ฮัดสัน / เจนกินส์เก็บข้อมูลที่ไหนและอย่างไร


18

ฉันติดตั้ง Jenkins บน Ubuntu 10.10 และไม่พบการตั้งค่าฐานข้อมูลสำหรับการเก็บข้อมูล

ดังนั้นคำถามแรกคือข้อมูลถูกเก็บไว้ที่ไหนและประการที่สองเราสามารถตั้งค่า Hudson / Jenkins ด้วย mySQL ได้หรือไม่? หรือฐานข้อมูลที่คล้ายกัน?


ในระบบแฟ้มปกติบางอย่างเช่น/var/lib/jenkins/, หรือ/var/jenkins_home/ /home/jenkins/
Ondra Žižka

คำตอบ:


11

ฮัดสัน / เจนกินส์ไม่ค่อยได้ผลเช่นนั้น มันจัดเก็บการกำหนดค่าและข้อมูลงาน/var/lib/jenkinsโดยค่าเริ่มต้น (ถ้าคุณใช้แพ็คเกจ. deb) หากคุณต้องการตั้งค่าความคงทนสำหรับแอปพลิเคชันเฉพาะนั่นคือสิ่งที่คุณต้องการจัดการกับตัวเอง - ฮัดสันเป็นเซิร์ฟเวอร์การรวมอย่างต่อเนื่องไม่ใช่เฟรมเวิร์กทดสอบ

ตรวจสอบบทความ Wiki เกี่ยวกับการรวมอย่างต่อเนื่องเพื่อดูภาพรวมของสิ่งที่คาดหวัง


2
@ Redmumba ฉันเข้าใจว่ามันเป็นเซิร์ฟเวอร์ CI แต่ฉันแค่มองไปที่ความเป็นไปได้ของมันที่ใช้ในการผลักดันการทดสอบหน่วยและยืนยันผลลัพธ์ในฐานข้อมูลแทนไฟล์ flar ในฐานะที่เป็นเจนกินส์สามารถใช้ในการขับขี่และแสดงการทดสอบ ความคิดใด ๆ
kamal

บิลด์เป็นมากกว่าการคอมไพล์ (หรือการแปรผันของภาษาแบบไดนามิก) บิลด์อาจประกอบด้วยการรวบรวมการทดสอบการตรวจสอบและการปรับใช้รวมถึงสิ่งอื่น ๆ บิลด์ทำหน้าที่เป็นกระบวนการในการใส่ซอร์สโค้ดเข้าด้วยกันและตรวจสอบว่าซอฟต์แวร์ทำงานเป็นหน่วยเชื่อมโยงกัน
kamal

1
อย่างที่ฉันพูด Jenkins เป็นเพียงเซิร์ฟเวอร์ CI - ไม่ใช่กรอบ สำหรับทุกวัตถุประสงค์และวัตถุประสงค์เจนกินส์เป็นเพียงการเรียกใช้สคริปต์ที่คุณระบุ - มันไม่สนใจเกี่ยวกับการจัดเก็บข้อมูลถาวรภาษาที่คุณใช้หรือแม้แต่สิ่งที่คุณทำ นั่นคือสิ่งที่ฉันคิดว่าการยกเลิกการเชื่อมต่อคือ - เจนกินส์ไม่ได้จัดเก็บที่เก็บถาวรสำหรับแอปพลิเคชันของคุณ ฯลฯ
แอนดรูว์เอ็ม

1
ref: จากหนังสือ "Integration Integration: หลายคนคิดว่า CI โดยไม่ต้องทำการทดสอบอัตโนมัติอย่างต่อเนื่องไม่ใช่ CI เราไม่สามารถตกลงกันได้มากขึ้นหากไม่มีการทดสอบอัตโนมัติมันเป็นเรื่องยากสำหรับนักพัฒนาหรือผู้มีส่วนได้ส่วนเสียในโครงการอื่น ๆ นักพัฒนาในโครงการที่ใช้ระบบ CI ใช้เครื่องมือทดสอบหน่วยเช่น JUnit, NUnit หรือกรอบ xUnit อื่น ๆ เพื่อเรียกใช้การทดสอบนอกจากนี้คุณสามารถเรียกใช้การทดสอบประเภทต่าง ๆ จากระบบ CI เพื่อเพิ่มความเร็วในการสร้างของคุณหมวดหมู่เหล่านี้อาจรวมถึง หน่วย, ส่วนประกอบ, ระบบ, โหลด / ประสิทธิภาพ, ความปลอดภัย, และอื่น ๆ
kamal

1
ขวา; ดังนั้นเราจึงอยู่ในหน้าเดียวกัน เจนกินส์ทำสิ่งเหล่านี้ - มันไม่ได้จัดการเลเยอร์การคงอยู่กรอบการทดสอบสร้างเครื่องมือ (ยกเว้นมด) ฯลฯ คุณจะต้องสร้างเลเยอร์การคงอยู่และการทดสอบแยกต่างหาก Jenkins สามารถทำกราฟ unittests ถ้าพวกเขากำลังแสดงผลในรูปแบบ xunit ซึ่งเป็นสิ่งที่กรอบการทดสอบ Java ให้; ภาษาอื่นอีกหลายภาษา (เช่นจมูก Python) จะแสดงผลในรูปแบบนั้นด้วย
แอนดรูว์เอ็ม

6

เจนกินส์ดูเหมือนจะเก็บข้อมูลตามสคริปต์ของคุณและวิธีการ

ตัวอย่างเช่น; สคริปต์ที่รันการคอมมิทบิวด์ประจำวันของคุณสามารถตั้งค่าเพื่อมอบผลลัพธ์ "ผ่าน / ล้มเหลว" ให้กับเจนกินส์เพื่อจัดเก็บในไฟล์ XML จากนั้นหากคุณสนใจดึงผลลัพธ์ "ผ่าน / ไม่สำเร็จ" ในอดีตและใช้สิ่งเหล่านั้นที่อื่นนอกเหนือจากใน Jenkins GUI คุณสามารถโทรเข้าสู่ Jenkins API และรับผลตอบแทนของ XML นั้นได้ แยกวิเคราะห์และคุณได้รับข้อมูลที่คุณต้องการ

แต่ - นอกเหนือจากการทำสิ่งนี้เจนกินส์ไม่มีระบบพื้นที่เก็บข้อมูลทั้งหมดโดยเปล่าเปลี่ยว

นอกจากนี้ข้อมูลต่อไปนี้ของ jenkins api: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API


2

คำตอบคือเจนกินส์จะไม่ตั้งค่านี้ให้คุณ คุณต้องบอกวิธีการตั้งค่าสภาพแวดล้อมและวิธีดำเนินการทดสอบ โดยปกติจะทำในส่วนขั้นตอนการสร้าง หากคุณจะให้ข้อมูลเพิ่มเติมว่าคุณใช้แพลตฟอร์มใดเราอาจให้คำตอบที่เป็นรูปธรรมมากขึ้น คุณสามารถมีเชลล์สคริปต์ที่จะติดตั้งแอปพลิเคชันของคุณและเรียกใช้การทดสอบจากนั้นคุณเรียกมันจากฮัดสัน การจัดทำข้อมูลเอาต์พุตของนักวิ่งทดสอบในวิธีที่เป็นมิตรกับฮัดสันเพื่อให้ได้ผลการทดสอบของคุณใน webUI เพื่อดูสิ่งเหล่านั้น


2

มันเก็บข้อมูลในไดเรกทอรีบ้านของคุณใน.jenkinsไดเรกทอรี คุณสามารถค้นหาข้อมูลที่เกี่ยวข้องทั้งหมดที่เกี่ยวข้องกับงานสร้างของคุณได้ในไดเรกทอรีนี้

เจนกินส์ไม่ได้ให้การสนับสนุนการสร้างสำหรับการเชื่อมต่อกับฐานข้อมูลใด ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.