เมื่อ Fastlane ติด SSL_connect

Jedsada Tiwongvorakul
20Scoops CNX
Published in
2 min readOct 30, 2017

ถ้าหากใครใช้ Fastlane ประจำก็คงจะเคยเจอปัญหาเหมือนกับเจ้าของบล็อคอยู่มั้งแหละ เพราะทุกครั้งที่ทำการอัพเดทเวอร์ชั่นใหม่เมื่อไรทำเอาหัวใจเต้นแรงทุกที และปัญหาล่าสุดที่เจ้าของบล็อคเจอคือ เมื่ออัพเดท Fastlane เวอร์ชั่นใหม่ล่าสุดแล้ว ไม่สามารถอัพโหลดไฟล์ไปยัง Amazon S3 ได้โดย error ฟ้องตามภาพด้านบนเลย ทั้งๆที่ก่อนหน้านี้มันเคยใช้งานได้ปกติ อะไรของมัน ฟ่ะ (เป็นเสียงที่กรีดร้องในใจ)

วันนี้เจ้าของบล็อคเลยอยากจะแชร์วิธีการแก้ไข พร้อมกับบันทึกเอาไว้เตือนใจตัวเอง เพราะเสียเวลาแก้ปัญหานี้จนไม่ได้นอนกันเลยทีเดียว (แค้นมาก)… สำหรับใครที่ยังไม่รู้จักว่า Fastlane คืออะไร เอาไว้ทำอะไร สามารถเข้าไปดูได้จากด้านล่างได้เลย

ปัญหานี้เกิดขึ้นเพราะอะไรล่ะ?

เท่าที่เจ้าของบล็อคอ่านมาคือ อาจจะเป็นที่ Ruby ในเครื่องของเรามีปัญหา (ห่าไร ก็ไม่รู้ เอิ่มมม) เจ้าของบล็อคก็ลองทำคำสั่งทุกอย่างที่เห็นอยู่ใน stack overflow แล้วก็ยังไม่หาย อาทิเช่น ใช้คำสั่ง brew update && brew upgrade openssl ก็แล้ว อะไรก็แล้ว เลยตัดสินใจว่าจะลง Ruby ใหม่ แต่ที่นี้ขอลงผ่าน RVM ละกัน

RVM (Ruby Version Manager) คืออะไร

เป็นเครื่องมือที่เอาไว้สำหรับจัดการกับเวอร์ชั่นของเจ้า Ruby ซึ่งช่วยให้เราสามารถสลับสับเปลี่ยนเวอชั่นของ Ruby ได้อย่างง่ายดาย

วิธีลง RVM ก็มีคำสั่งในการติดตั้งมากมาย แต่ในตัวอย่างนี้ขอติดตั้งผ่าน curl โดยใช้คำสั่งดังนี้ \curl -sSL https://get.rvm.io | bash -s stable --ruby

เมื่อติดตั้งเรียบร้อยก็ให้ลองตรวจสอบดูอีกทีโดยใช้คำสั่ง rvm -v และถ้าไม่มีอะไรผิดผลาดก็จะได้ผลลัพธ์หน้าตาแบบนี้

ต่อไปก็ให้ทำการติดตั้ง Ruby โดยผ่าน RVM โดยใช้คำสั่งดังนี้rvm install ruby (ซึ่งเป็นการติดตั้งเวอร์ชั่น ล่าสุด เพราะไม่ได้ระบุเลขเวอร์ชั่นเอาไว้) แต่ถ้าหากใครอยากจะกำหนดเวอร์ชั่น ก็ใช้คำสั่งนี้แทน rvm install ruby-ตามด้วยเลขเวอร์ชั่น เมื่อติดตั้งเสร็จแล้วก็ให้ลองเรียกใช้คำสั่ง rvm list ดูก็จะได้หน้าตาแบบนี้

ก็จะเห็นเวอร์ชั่นต่างๆ ของ Ruby ภายในเครื่องของเรา ตามภาพด้านบนถ้าหากอยากจะสลับจาก 2.4.2 มาเป็น 2.4.1 ก็ให้ใช้คำสั่ง rvm use 2.4.1 ก็เอาเป็นว่าสามารถเข้าไปอ่านคำสั่งต่างๆ ของ RVM ได้จากลิงค์ด้านล่างละกันเนาะ

เมื่อทำการเลือกเวอร์ชั่นของตัว Ruby เสร็จแล้วก็ให้ลองตรวจสอบว่าเครื่องของเราใช้ Ruby เวอร์ชั่นที่เราพึ่งจะกำหนดไป รึเปล่า ด้วยคำสั่ง ruby -v และเมื่อเลขเวอร์ชั่นตรงกับที่เราเลือกไว้แล้ว ต่อไปก็ให้ใช้คำสั่ง gem install bundler (ลุกไปชงกาแฟ หรือ ต้มมาม่ารอเลยครับ) เมื่อติดตั้งเสร็จก็จะได้หน้าตาประมาณนี้

จากนั้นให้ทำการติดตั้ง dependencies ของ Gem โดยใช้คำสั่ง bundle install และถ้าหากไม่มีอะไรผิดพลาดก็จะได้หน้าตาประมาณนี้ออกมา

ในที่นี้เจ้าของบล็อคติดตั้งมาก่อนแล้ว ก็เลยเป็นคำว่า Using …

เอาละเมื่อทำตามทุกขั้นแล้วไม่มีอะไรผิดพลาดก็ให้ลองใช้คำสั่งของ Fastlane ใน lane ที่มีการอัพโหลดไฟล์ไปยัง Amazon S3 ดูอีกครั้ง สำหรับของเจ้าของบล็อคผลลัพธ์ก็สามารถอัพโหลดไฟล์ได้แล้ว เย้ เย้ 🎉 🎊

แต่ถ้าหากใครจะไม่ได้ละก็ตัวใครตัวมันละงานนี้ แต่อย่าให้ถึงขั้นที่ต้องลง OSX ใหม่นะ (ร้องไห้หนักมาก เพราะลงใหม่ก็ไม่หาย 🤣)

สรุป

ถ้าหากใครใช้ Fastlane ในการ deploy ตอนมันไม่พังชีวิตการ deploy มันโคตรจะสะดวกเอามากๆ โดยเฉพาะกับ IOS เพราะถ้าหากใครเขียนแอพฯบน IOS จะรู้ดีว่าการทำไฟล์ .ipa และถ้าใครจะไม่เคยลิ้มลองรสเจ้า Fastlane ขอให้ลองเถอะครั้งแตะปลายลิ้นแล้วคุณจะติดใจ แต่สำหรับใครที่เจอปัญหาเดียวกันกับเจ้าของบล็อค แล้วทำตามวิธีด้านบนแล้วก็ยังไม่หาย ก็ลองหาวิธีอื่นกันดูละกันนะครับ เพราะวิธีข้างบนเป็นเพียงหนึ่งวิธีที่เจ้าของบล็อค ลองแล้วได้ผลซึ่งอาจจะมีอีกหลายวิธีที่เหมาะกับเครื่องของผู้อ่าน ไว้เจอกันในบทความถัดไปครับผม 👋 🤙

--

--