Use Terraform to Deploy Hugo to Vercel

Overview As I mentioned in previous post, Terraform has Vercel provider. With this, we can configure our Vercel project through Terraform. This post will show you how to do that. Before that, here is some reasons on using Terraform to deploy Vercel. Vercel has web UI and CLI. Web UI requires me navigate through the web interface. I’m not a fan of it, not efficient CLI is relatively simple. It requires me to install the CLI tools. I want to avoid this to reduce packages bloat in my device. Terraform provide you state for each resources. So the actual resources aligned with what we define. I already use Terraform in other projects. So this will reduce the overhead to maintain different stacks. Deploying to Vercel with Terraform Ensure we have the Vercel API token created Create new main.tf with following: terraform { required_providers { vercel = { source = "vercel/vercel" version = "1.1.0" } } } locals { personal_site_envs = { HUGO_VERSION = { value = "0.123.2" target = [ "development", "preview", "production" ] } HUGO_ENV = { value = "production" target = [ "development", "preview", "production" ] } } } resource "vercel_project" "personal_site" { name = "personal-site" framework = "hugo" install_command = "yum install -y golang" git_repository = { production_branch = "master" type = "github" repo = "<username>/<hugo_repo>" } vercel_authentication = { deployment_type = "none" } } resource "vercel_project_environment_variable" "personal_site" { for_each = local.personal_site_envs project_id = vercel_project.personal_site.id key = each.key value = each.value.value target = each.value.target } resource "vercel_project_domain" "personal_site" { for_each = local.personal_site_domains project_id = vercel_project.personal_site.id domain = each.key } In the current directory, run the following: export VERCEL_API_TOKEN=<INSERT_YOUR_API_TOKEN> terraform init terraform plan Check the plan output If the plan looks good, apply the changes with terraform apply If everything works well, the project will be created and configured automatically by Terraform definition above. You might need to make dummy changes to the repo to trigger the build or trigger it manually from the UI. ...

February 26, 2024 · 2 min · 379 words · Me

Deploy Hugo to Vercel

Overview Hugo is one of popular static site generator out there. There are some options to deploy Hugo such as manually using VM, netlify, or using Vercel. This post will give you information on how to deploy Hugo to Vercel. Hugo requires theme and layouts to be able to work. There are some ways to use install a theme and most of the common way are using git submodule. Why Vercel? My Hugo site was deployed using Netlify and everything is running well. But, I have some other projects that needs to be managed. While Netlify is good, we don’t have IaC provider for it. I checked for other options and found out Vercel has Terraform provider support! Just like Netlify, we also has Free options in Vercel, so thats another good thing to have! ...

February 26, 2024 · 3 min · 492 words · Me

Tujuh Tahun Menjadi Engineer

2016 adalah tahun saya lulus Sarjana Komputer (Teknik Informatika). Berarti sudah sekitar tujuh tahun secara resmi saya berkarir sebagai seorang engineer. Jika dihitung dengan masa freelance, berarti sudah sekitar 10 tahun sebagai engineer. Saya masih ingat betul saat pertama jungkir balik dari role satu ke role yang lain. Dimulai pada masa awal menjadi software engineer, lalu system administrator, sempat freelance diranah security engineer dan data engineer dan juga IoT engineer, hingga akhirnya sekarang seringkali berperan sebagai tech lead dan infrastructure engineer (Cloud Infra, DevOps, Site Infra, you name it). Lalu, apa hal yang didapatkan selama kurang lebih 10 tahun berkarir sebagai engineer? ...

January 30, 2023 · 4 min · 653 words · Me

Bekerjalah Sekadar Bekerja

Beberapa minggu ini marak berita tentang layoff oleh beberapa perusahaan baik dalam negeri maupun luar negeri. Jumlah karyawan terdampak juga bervariasi dari beberapa orang, hingga belasan ribu. Luar biasa. Doa terbaik untuk saya kepada rekan-rekan yang terdampak, begitupun yang sedang cemas akan statusnya. Sejak 2019-2022, telah terjadi beberapa layoff. Beberapa rekan terdampak juga sempat bercerita tentang kesedihan ataupun kekecewaan terhadap putusan dari perusahaannya. Ada pola yang cukup mirip dari beberapa obrolan. Misal, ...

November 18, 2022 · 2 min · 276 words · Me

Adil: Sebuah Kata yang Tak Pernah Nyata

Sudah lama tidak pernah menulis di situs ini. Rasanya, terlewat banyak hal yang menarik untuk dibagikan. Sebagian besar, pada akhirnya hanya tersimpan di catatan pribadi saya dan tak berlanjut ke situs ini, biasa.. Kadang terkendala oleh niat, haha. Usia yang seiring bertambah dan saat ini sudah melewati seperempat abad, tentu saja banyak pelajaran hidup yang saya dapatkan. Dari sekian banyak pelajaran hidup itu ada sebuah kata yang menurut saya telah mengubah banyak diri saya pribadi, “adil”. ...

April 4, 2022 · 3 min · 444 words · Me