COSCUP 2019 - 演講後談復活的頁遊 - Unlight (一)

COSCUP 分享了這兩週左右(8/3 ~ 8/17)把一款決定開放原始碼的網頁遊戲,從無法啟動到恢復伺服器開始運作的一些經驗跟大家分享。
不過看起來還是有很多人沒有機會來聽,雖然之後因為會把一部分重心放在這款遊戲上,所以應該還是有不少機會,但還是簡單的來彙整一下今天講的東西。

上一篇快速閱讀 Unlight 原始碼大致上有提到了我在當時看到原始碼的看法跟概觀。有興趣的話可以搭配演講簡報一起讀這篇文章。

另外,這次整個遊戲運作起來除了我自己本身對 Ruby / ActionScript 有一定的了解外,也要感謝一下我們這個團隊(Open Unlight)的初期成員 Poka 和舞鶴,給我硬體上的支援跟對其他玩家的客服支援,不然有時候真的很難同時處理這些事情。

用 CloudFlare Workers 製作簡單的 Uptime Status 頁面

最近跟朋友弄了一個透過 Chatbot 做出手遊效果的專案,沒出什麼意外的話大概能在九月看到一個雛形。不過既然是手遊類型的遊戲,更新資料跟維護其實就會遇到一些困難點。

如果是線上遊戲或者手遊,大多數只要在公告後把玩家切斷連線然後升級過程中避免玩家連上就好。不過因為是 Chatbot 所以除非能做到不停機升級,不然是很困難的。
如此一來,讓玩家知道遊戲(機器人)正在更新,處於無法使用的狀態,就是一個重要的關鍵。

部署你的第一個 Ruby on Rails 網站(八)

前面幾篇文章已經把所有關於 Ruby 和資料庫都設定完成,最後一個階段就是要把 Nginx 設定好,並且讓 Let’s Encrypt 可以正確的被設定,讓網站支援 SSL 功能。

部署你的第一個 Ruby on Rails 網站(七)

現在伺服器還沒辦法下載到 Ruby on Rails 專案的原始碼用來部署,這一篇會介紹該如何把原始碼下載回來,並且在伺服器上將相關的 Ruby Gem 都安裝好。

部署你的第一個 Ruby on Rails 網站(六)

經過前面五篇的教學,我們距離將 Ruby on Rails 部署到伺服器上越來越接近了。上一階段我們在本機段將部署的設定做完之後,這一篇文章會回到伺服器將部署所需的設定補齊,讓 Capistrano 可以正確的將程式碼部署到伺服器。

部署你的第一個 Ruby on Rails 網站(五)

第四篇為止,我們已經有了可以運行 Ruby on Rails 的環境,不過到底該怎麼在伺服器上跑起來呢?

絕對不是把程式碼複製到伺服器這種簡單的做法,或者說這樣的做法在更新上是很沒有效率的!

部署你的第一個 Ruby on Rails 網站(四)

第一篇第二篇的說明,加上第三篇我想大家已經對編譯自己的環境稍為熟悉。

為了要可以用 Passenger 作為網站伺服器,我們需要自行編譯 Nginx 讓他可以使用 Passenger 模組。

部署你的第一個 Ruby on Rails 網站(三)

經過第一篇第二篇的說明,我想大家現在應該都有辦法順利的透過 SSH 進入自己的伺服器。

在第二篇的最後,我們針對 Ruby 環境預先做了準備,接下來就是安裝 Ruby 環境的時候了!

部署你的第一個 Ruby on Rails 網站(二)

延續上一篇文章的內容,我們需要先在伺服器上進行設定,讓伺服器可以正確的安裝 Ruby 環境。如此一來,我們才能夠將 Ruby on Rails 部署到伺服器上面。

為了完成這些前置作業,我們還需要針對伺服器的設定進行完善的準備才行。

部署你的第一個 Ruby on Rails 網站(一)

最近在公司發現其實不少同事都還沒有實際部署過一台伺服器的經驗,在有人負責 DevOps 的情況下,也許真的不太需要。又或者因為還是初級工程師的關係,沒有那個權限可以去安裝一次伺服器。甚至其實一直都使用著 Heroku 或者 AWS CodeDeploy 等服務的便利性,而沒有嘗試自己安裝一次。

不管是基於甚麼原因,總之先來安裝一次吧!