Category Continuous Integration

Continuous Integration

[Jenkins] GIT Parameter fatal: Couldn’t find remote refs/heads/${BRANCH_ON_GIT}

jenkins

หลังจากย้ายจาก SVN ไป GIT มันมีการแก้ Script ของ Automate Build ด้วยครับ มาดูพฤติกรรมของ Job Build กันก่อนไหมครับ ปัญหา : เกิดขึ้น Job A เรียก Job B ทำงานต่อ ตอนที่ส่ง Param ผ่าน Git Parameter มันเเกิด Error ดังนี้ครับ การแก้ไข ง่ายนิดเดียวเองครับ ใน Job Build ให้ติ๊กเลือก Lightweight checkout ออกครับ

[.NET] แก้ปัญหา Build แล้ว Error Your project file doesn’t list win as a RuntimeIdentifier

Blog ตอนนี้ยังเป็น Blog ที่สรุปหลังปรับ Framework ขององค์กรครับ จาก Blog ก่อนหน้าที่ Error “The build is configured to run SonarQube analysis but the SonarQube analysis targets could not be located” คราวนี้มาเจอ Error ใหม่ ที่มันกวนตีนกว่าเดิมครับ เพราะ มันเป็นบ้าง ไม่เป็นบ้าง และถ้า Build ผ่านตัว Visual Studio ไม่เจอนะ…

[.NET] แก้ปัญหา Build แล้ว Error The build is configured to run SonarQube analysis

หลังจากปรับ Framework ของบริษัทให้เป็น .NET Standard เรียบร้อยแล้ว เมื่อทดสอบ Build ผ่านตัว Jenkins เกิด Error ดังนี้ The build is configured to run SonarQube analysis but the SonarQube analysis targets could not be located ภาพรวมของ SonarQube Analysis นะครับ ต้องเข้าใจก่อนนะครับ ว่าการวิเคราะห์ Code ของ SonarQube จริงๆ…

Jenkins มาจัดการกับ Build Log เพื่อป้องกันไม่ให้ Disk เต็มครับ

jenkins

หลังจากพบว่า ฺBuild Server พื้นที่ Disk เต็มครับ โดยหลังจากลองใช้โปรแกรม TreeSize Free เข้ามาช่วงค้นหาว่า Folder ไหนที่มีขนาดใหญ่เกินไปจากปกติ จนพบสาเหตุว่า หนึ่งในสาเหตุที่พื้นที่ Disk เต็มนั้น เกิดจาก Build Log ที่ไม่มีการทำกระบวนการ House Keeping (เอาง่ายๆ คือ การลบข้อมูลที่ไม่จำเป็น เพื่อให้มีพื้นที่สำหรับใช้งานระบบเพียงพอครับ) มาดูกันใน Jenkins ดีกว่า ถ้าจะ Clear Log ของการ Build ทำอย่างไรครับ กรณีที่สร้าง Task Build แบบ GUI…

[PowerShell] มาทำ Line Notify แจ้งข้อมูลคุณภาพของ Code กันดีกว่าครับ

powershell

UPDATE: 2025-02 Line Notify ได้ปิดตัวไปแล้ว ถ้าจะใช้งานให้ไปใช้ Line Messaging API ซึ่งมีค่ายใช้จ่ายระดับนึงเลย (Ref: ) สำหรับทางเลือกอื่นๆ Telegram Bot / Discord Bot / Firebase Cloud Messaging หรือ ntfy.sh เป็นต้น จริงๆต้องบอกว่าทุกปัญหามันเริ่มต้นจากความขี้เกียจแหละครับ และช่วงหลังๆสำหรับหน่วยงานต่างๆ การตรวจสอบคุณภาพของ Source Code ตอนนี้มันถูกจัดไปเป็นเงื่อนไขหนึ่งใน TOR แล้วครับ มันเลยเป็นที่มาของ Blog นี้ครับ หลังจากที่ผมได้ตั้ง SonarQube เพื่อมาตรวจสอบคุณภาพ…

[PowerShell] แก้ไขไฟล์ App.config ใน Jenkins Pipeline

powershell

หลังจากทำมี Tools ที่ กำหนดค่าที่เดียว แต่สามารถใช้งานไปได้ทุก Application แล้ว (Universal Configuration) แต่ทำไมคนอื่นถึงไม่ค่อยใช้งานกัน เราก็ถึงบ้างอ้อทันที อ๋อขี้เกียจไปแก้ app.config หรือ web.config นั้นเอง ด้วยความที่ระบบมันมี Base 3 สำหรับลูกค้า 3 กลุ่ม แต่ใช้ Code ชุดเดียวกันนะครับ มันจึงต้องมีการเตรียมค่าตั้งต้นกันก่อนนั้นเองครับ อาทิ เช่น เนื่องจากทีม Implement ขี้เกียจแก้ แต่ก็ไม่ได้บอกนะ 5555 ผมเลยทำให้มันเสร็จไปจากเครื่องบิ้ว Jenkins เลยดีกว่าครับ แต่มันจะมี 2 ประเด็น กลับมาประเด็นแรกก่อน…

[CI] Jenkin Pipeline ให้ SVN Tag Build ให้

jenkins

สำหรับคนที่ยังใช้ Jenkin Pipeline และกับการ Build .NET(Windows Base App) ทำให้ต้องมาวาง CI Server บน Windows พอบิ้วสำเร็จแล้ว เราอยากให้ตัว Pipeline จัดการ Tag Build ให้เลย ผมมี Code Snippet โดยลองดูตัวอย่าง Code Grovvy ได้เลยครับ จาก Code ด้านบน Code ชุดนี้ใช้ลูกเล่น 2 แบบ ซึ่งผลลัพธ์ที่ได้เป็นลักษณะ ดังรูปครับ Reference

[CI] ทำ Jenkins BOT ให้ Rocket.Chat กัลเถอะ

หลังจากบริษัทได้เปลี่ยนตัว chat ที่มีอายุ 20 ปี ซึ่งมีนามว่า iChat(ไม่ใช่ของ Apple นะ 555) มาเป็น Rocket.Chat คราวนี้ได้เวลาลองเอาคุณลุง Jenkins มาเชื่อมครับ สิ่งที่ต้องเตรียม ลุยกันเลยยย เชื่อม BOT ให้รู้จักกับ Jenkins Job ทดสอบ Build ครับ เดี๋ยวของลองใช้งานจริงสัก 3-4 เดือน แล้วจะมาเขียน Blog สรุปอีกทีครับ

[Jenkins] SVN Command line Commit

ยุคนี้ใครก็พูดถึง Git แต่องค์กรของผมยังใช้ตัว SVN อยู่นะครับ หลังจากทำ CI มานึงระดับนึงแล้ว เราจะใช้ตัว Jenkins Commit Lib ที่ Update ไปให้อีก Repository ใช้ครับ ก็ลองๆหาดูตัว SVN มีพวก Command line ให้ใช้นะ แต่พวก Resource จะหายากนิดนึงครับ ทำเสร็จแล้ว ผมเขียน Blog แปะไว้ เผื่อกลับมาอ่านวันหลัง แล้วมันเกี่ยวกับ Jenkins ตรงไหน อ๋อมันเกี่ยว ตรงที่หลัง Commit เสร็จ ผมจะให้ตัว Jenkins…

[Hudson, Jenkins] ใส่ไฟล์เพิ่มเข้าไปใน E-Mail แจ้งเตือน

jenkins

สำหรับ Blog ผมได้เขียนเกี่ยวกับการนำ Build Log ที่ได้จาก VB6 ไปใส่ใน Console Log ของตัว CI ครับ แต่ว่ามันทำไม่ได้ ผมเลยใช้วิธีง่ายๆเลยครับ แนบไฟล์ log ของการ Build ไปกับ Email ซะเลย 555 โดยมีขั้นตอน ดังนี้ สิ่งที่ต้องมี 📌 ต้องลง Plugin สำหรับส่งเมล์ก่อนครับ Email-ext plugin ขั้นตอนการ Config ครับ 📌 กำหนดที่ Job ของเราครับว่าจะเอาไฟล์ไหนส่ง โดยสำหรับผมมีไฟล์ build.log ของตัว VB6…