คำถามติดแท็ก continuous-integration

2
Gitlab CI - ปรับใช้ผ่าน SSH ไปยังเซิร์ฟเวอร์ระยะไกล
ฉันมีสภาพแวดล้อม Gitlab โดยใช้ Gitlab CI สำหรับโครงการใหม่เพื่อเป็นพยานเกี่ยวกับไฟล์ที่รวบรวมและคัดลอกผ่าน rsync ไปยังเซิร์ฟเวอร์ที่ใช้งานจริง เครื่องที่สร้างทรัพยากรเหล่านี้คือ exec คืออิมเมจของ docker (โหนด 6) แต่ตอนนี้ฉันต้องคัดลอกไฟล์ผลลัพธ์จากคอนเทนเนอร์ container ที่คำสั่ง Docker ไปยังเซิร์ฟเวอร์โดยใช้ linux ... ปัญหาของฉันคือการเชื่อมต่อผ่าน ssh ผ่าน rsync ขณะนี้ฉันมีดังต่อไปนี้: stages: - deploy before_script: - npm i - npm run build job_deploy: stage: deploy script: - ssh-keygen -t rsa -b 4096 -C '' -f …

1
Tomcat Parallel Deployment ยกเลิกการปรับใช้แอปพลิเคชันเก่าโดยอัตโนมัติ
ฉันใช้ Tomcat 8's Parallel Deployment เป็นส่วนหนึ่งของการตั้งค่าการปรับใช้อย่างต่อเนื่องแบบไม่ต้องหยุดทำงานมาระยะหนึ่งแล้ว เมื่อทดสอบ gauntlet แล้วเซิร์ฟเวอร์ CI จะเปลี่ยนชื่อไฟล์. war เป็น application ## {version-number} .war โดยอัตโนมัติและคัดลอกสงครามไปยังโฟลเดอร์ / webapp แอปพลิเคชัน ## 333 จะอยู่ร่วมกับแอปพลิเคชัน ## 332 ได้เป็นอย่างดี ปัญหาเดียวที่ฉันพบคือฉันต้องยกเลิกการปรับใช้แอปพลิเคชันรุ่นเก่าด้วยตนเองเมื่อการรับส่งข้อมูลทั้งหมด (เซสชันใหม่) ได้เปลี่ยนไปเป็นแอปใหม่โดยอัตโนมัติ Tomcat มีกลไกที่มีอยู่แล้วภายในหรือไม่สำหรับพูดว่า "เฮ้เมื่อบริการนี้ลดลงเหลือศูนย์อีกครั้งควรลบออก" หรือไม่? บางทีเหตุการณ์ "เซสชันล่าสุดเพิ่งหมดอายุ" บางอย่างที่ฉันสามารถแตะเข้าไปได้ หากคนอื่นมีการยกเลิกการปรับใช้แอปพลิเคชันประเภทนี้โดยอัตโนมัติฉันชอบที่จะได้ยินเกี่ยวกับมัน ขอบคุณ!

3
Triggering Jenkins build เพื่อรวมคำขอจาก GitLab web hook
ฉันต้องการให้เจนกิ้นส์ (1.561) สร้างคำขอผสาน (ดึง) ที่ส่งไปยัง GitLab (6.7.5) ซึ่งถูกเรียกโดยเว็บขอรวม ฉันมีบิลด์แบบกำหนดพารามิเตอร์และปลั๊กอินเจนกินส์ "GitLab Merge Request Builder" (1.2.0) และ "GitLab Hook" (1.0.0) การย้ายไปที่ Jenkins CI นั้นน่าเสียดายไม่ใช่ตัวเลือกจริง ผสานรวมเข้ากับปลั๊กอิน Builder คือสามารถที่จะร้องขอสร้างผสานตราบใดที่ตัวแปรgitlabMergeRequestId, gitlabTargetBranchและgitlabSourceBranchที่มีอยู่ สิ่งนี้จะทำงานได้ดีเมื่อปลั๊กอินทำการสำรวจพื้นที่เก็บข้อมูลของตัวเองหรือฉันทริกเกอร์บิลด์ด้วย payload ด้วยตนเอง (เช่นcurl --data "gitlabMergeRequestId=3&so_on http://server_name/job/$JOB_NAME/buildWithParameters) แต่ฉันไม่สามารถทำสิ่งนี้ด้วยเบ็ด การใช้ปลั๊กอิน GitLab Hook ทำให้ฉันสามารถรับข้อมูลที่จำเป็นใน JSON payload ได้ แต่ค่ามีคีย์ "ผิด": gitlabMergeRequestId คือ id gitlabTargetBranch คือ target_branch gitlabSourceBranch …

4
วิธีที่มีประสิทธิภาพเพื่อให้แน่ใจว่า“ ระบบกระดานชนวนสะอาด” สำหรับบริการการรวมอย่างต่อเนื่อง
เราต้องการตั้งค่าบริการการรวมอย่างต่อเนื่อง (CI) สำหรับโครงการของเรา บริการ CI นั้นควรควบคุมทุกด้านของอายุการใช้งานของโครงการรวมถึงการปรับใช้ นั่นคือเราต้องการตัวแทน CI ในแต่ละการวนซ้ำเพื่อทำความสะอาดระบบ (โดยเฉพาะ Ubuntu Server) ปรับใช้โครงการของเราที่นั่นและทำการทดสอบ เราอาจจะเขียนบริการ CI ด้วยตัวเองเพราะระบบนิเวศของเราค่อนข้างผิดปกติ คำถามคือวิธีการให้ระบบกระดานชนวนที่มีประสิทธิภาพสำหรับการทำซ้ำแต่ละ CI? การปรับใช้โครงการจะติดตั้งแพคเกจ Debian บางตัวกำหนดค่าไซต์ nginx หลายแห่งและติดตั้งแพคเกจบางตัวในการใช้งานตัวจัดการแพคเกจเฉพาะภาษา (LuaRocks) ทั่วทั้งระบบ ไม่มีอะไรน่ารำคาญไปกว่านี้อีกแล้ว (ฉันเชื่อ) ดังนั้นจึงเป็นสิ่งสำคัญที่จะสามารถตั้งค่ากระดานชนวนที่สะอาดได้อย่างรวดเร็ว (ภายในหนึ่งนาทีสำหรับฮาร์ดแวร์ที่ทันสมัยเร็วกว่าดีกว่า) เพื่อให้มั่นใจได้ว่าการแยกและความสะอาดสมบูรณ์แบบ ฉันเห็นสองวิธีทำสิ่งที่เราต้องการ: ไม่ว่าจะตั้งคุกอะไรสักอย่าง (เช่น lxc หรือบางที) หรือติดตั้งเครื่องเสมือนบางอย่างที่สามารถทำภาพรวมและใช้งานได้ แต่ ณ จุดนี้ฉันไม่มีข้อมูลเพียงพอที่จะตัดสินใจ คุณจะแนะนำอะไร ตัวเลือกอื่น ๆ ? ชื่อเครื่องมือเฉพาะใด ๆ หมายเหตุ: บริการ CI จะทำงานภายในแขก Citrix …

6
ระบบไฟล์ที่เร็วที่สุดสำหรับนักพัฒนาสร้างคืออะไร
ฉันกำลังรวมกล่อง Linux ไว้ซึ่งจะทำหน้าที่เป็นเซิร์ฟเวอร์รวมการสร้างอย่างต่อเนื่อง เราจะสร้างสิ่ง Java เป็นส่วนใหญ่ แต่ฉันคิดว่าคำถามนี้ใช้กับภาษาที่รวบรวม ฉันควรใช้การตั้งค่าระบบไฟล์และการกำหนดค่าใด (ตัวอย่างเช่นฉันรู้ว่าฉันไม่ต้องการ atime สำหรับเรื่องนี้!) เซิร์ฟเวอร์ build จะใช้เวลาอ่านและเขียนไฟล์ขนาดเล็กเป็นจำนวนมากและสแกนไดเรกทอรีเพื่อดูว่าไฟล์ใดได้รับการแก้ไข UPDATE: ความถูกต้องของข้อมูลมีความสำคัญต่ำในกรณีนี้ มันเป็นเพียงเครื่องจักรสร้าง ... สิ่งประดิษฐ์ขั้นสุดท้ายจะถูกซิปขึ้นและเก็บถาวรที่อื่น หากระบบไฟล์ในเครื่องบิลด์เสียหายและสูญเสียข้อมูลทั้งหมดเราก็สามารถลบและสร้างภาพใหม่ได้ งานสร้างจะยังคงทำงานเหมือนเดิม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.