我不想管理伺服器啦!分享怎麼將 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 一建立好資料庫資...

使用 K8s CronJob 來備份資料庫

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

升級 Livewire V3 的踩坑心得

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

使用 Generated Columns 來阻擋分身信箱

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

用 Ansible 來實作 K3s 叢集搭建自動化

之前寫過一篇文章介紹如何在雲端上面搭建 k3s 叢集:分享如何在雲端服務上架個 K3s 來學 K8s雖然過程不難,但要人工操作顯然不符合工程師的作風 🤪。因此我開始嘗試使用 Ansible 將整個叢集搭建流程自動化。本篇文章...

使用 Terraform 實作 Egress Only Gateway

前陣子 AWS 宣布 IPv4 將要從明年開始收費了,為了減少 IPv4 的使用,公司前輩提到 AWS 的 egress only gateway 或許是個不錯的選擇。什麼是 Egress Only Gateway?AWS 的 egress only gateway,其功能類似 NAT,讓...