弦而時習之

Rails 部署實踐 - 容器進入點

進入點是一個很容易被忽略的處理,在大部分的容器處理中我們只是將應用(Application)封裝成一個容器鏡像,並且使用命令(Command)來告知容器啟動時該呼叫怎樣的命令運行應用。

然而,這樣的機制存在一些問題,因此我們需要實現進入點(Entrypoint)來做一些處理。

Rails 部署實踐 - 容器化的 Bundler 最佳設定

雖然我們已經轉換為 Alpine 來製作容器鏡像,然而在現代軟體設計中為了加速會有許多快取(Cache)的檔案產生,以利再次執行時能夠更快速的啟動。使用 Bundler 安裝 Ruby Gem 也不例外,這些檔案在容器部署中有非常多是不需要的,因此我們還需要針對 Bundler 進行最佳化。

Rails 部署實踐 - 容器化 Rails 專案概述

要將 Ruby on Rails 透過容器的方式部署,我們就需要讓我們的專案可以被容器化。這篇文章我們會採用最簡單的方式進行容器化,扣除掉有使用特殊的 Ruby Gem 的情況下,大多能夠透過這種方式完成容器化。

Rails 部署實踐 - 以容器部署 Rails 的方案

過去幾年,使用容器技術(Container)來部署 Ruby on Rails 專案已經變成我個人最喜歡的方式之一。除了生態系完整之外,也有著容易安裝、部署環境,並且可以很好的維持部署環境乾淨的優點存在。

基於這樣的理由,在 Rails 部署實踐這一系列,我們會由 Rails 的容器部署方案最為起點開始討論可以使用的部署方案。

如何在幾分鐘內容器化 Rails 專案

Ruby on Rails 至今為止一直都是快速開發網站的首選框架之一,雖然我們可以利用 Rails 快速的製作網站,然而在部署上依舊還是要 DevOps 透過手動的方式部署伺服器、更新才能夠進行測試或者發布。

那麼,我們是否有更好的方式來解決這樣的問題呢?