我不想管理伺服器啦!分享怎麼將 Laravel 部署至 AWS Lambda

假設你今天寫了一個網站,想要放到網路上讓其他人訪問,可以怎麼做?最傳統的方式,就是找到一台伺服器,並將你的網站放上去運行。聽起來雖然簡單,但要讓程式在伺服器上運行,必須先在伺服器上建立運行程式的環境才...

在 GitHub Action 中使用 OIDC 取得操作 AWS 資源的權限

如果想要在 GitHub Action 中取得操作 AWS 資源的權限,最簡單的做法,就是建立一個 IAM User 並產生與之對應的 Secret Key,再將 Secret Key 儲存在 Action Secrets 中。這樣我們就可以在工作流程中透過 secrets 取...

避免重複書寫相同的 Workflow,簡單介紹 Action Composition

GitHub Action 是一個很方便的 CI/CD 工具,你可以用它來自動化程式部署前的多項任務,例如測試、靜態分析和排版檢查。但如果任務太多,用來描述 CI/CD 流程的定義檔案可能會變得冗長,並包含重複的部分。舉個例子,...

解決使用 Proxy 導致 Docker 無法拉取 Image 的問題

某天在公司內部申請一個 VM (Virtual machine) 來做 PoC (Proof of concept)。一開始拿到 VM 發現無法上網,原來我們公司對內部網路的控管較為嚴謹,內部的 VM 會要求使用 proxy 來對外連線。使用 proxy 還有一個好...

使用 Argo CD 的 Resource Hooks 來匯入資料庫資料

在傻傻的人工備份資料一陣子之後,我才發現可以使用 K8s 的 CronJob 來定期備份資料庫的資料。使用 CronJob 備份的效果讓我相當的滿意,終於擺脫了人工作業!但這次我有了另外一個問題。如何在 K8s 一建立好資料庫資...

2023 完結倒數!又到了回顧的時刻

原本想說時光飛快,2023 年即將結束,又到了做年度回顧的時間。但今年對我來說,其實並沒有一下子就結束的感覺,也許是因為 2023 年對我來說是相對充實的一年。2022 年末,我轉換跑道,從後端工程師轉職成 DevOps 工...

使用 K8s CronJob 來備份資料庫

我的部落格目前是搭建在自己架的 K3s (K8s 輕量版)上,資料庫是使用 MySQL,為了以防萬一導致資料遺失,平常我會以人工的方式下指令來備份部落格的資料庫。kubectl exec -it <mysql-pod-name> -- mysqldump -u...

關於我跑去考 AWS SAA 那檔事

我在去年的年度回顧中,提到了今年的其中一個目標是考到 AWS SAA (Solution Architecture Associate) 認證。因為去年轉換跑道,改當 DevOps 工程師,工作上多了許多需要使用雲端服務來設計系統架構的任務,這讓我開...

升級 Livewire V3 的踩坑心得

萬眾期待的 Livewire V3 終於在前陣子推出了正式版本 (8/25),這個版本做了相當多更動,也加入了許多新功能。看了 Livewire 作者在 Laracon US 的介紹後,就非常期待正式版本的到來。V3 剛推出 beta 的時候其實有著...

使用 Generated Columns 來阻擋分身信箱

前幾天看到一個影片,是 PlanetScale 介紹如何使用 Generated Columns 來阻擋分身信箱的註冊。分身信箱是指用戶可以使用 + 符號來讓信箱看起來不同,但實際上是同一個信箱。假設我的信箱是 [email protected],我可以...