이 글은 엄밀히 말해 Homelab은 아니지만, 내가 이것저것 만지는 범주에 들어간다. 지금까지는 On-Prem과 IaaS만 했으니, 이번엔 PaaS도 써보고 싶었다.
호스팅 관리 화면 적응기
처음 들어갔을 때는 원숭이 된 느낌이었다. 버튼이 너무 많다.

버튼이 너무 많다
cPanel은 더 많다

Email 섹션에서 흥미로운 기능을 발견했다.

danielnguyen@domain.com 같은 메일을 만들 수 있다. 예전부터 해보고 싶었는데, 오늘 바로 시도했다. UI는 쉬웠고, 실제로 동작하는지는 아직 확인하지 못했다.
첫 테스트
도메인을 추가하고 DNS를 연결하면 접속은 되지만, 보여줄 게 없으면 빈 화면이다. 그래서 호스팅의 /public에 뭔가 넣어야 한다.
4편의 Custom Intro index.html을 올려봤다.

해커 느낌 화면이 잘 뜬다.

Git 워크플로우로 접근
HTML을 올리면 동작하는 걸 확인했으니, 다음은 Hexo Build → FTP로 /public 업로드.

여러 번 수정하고 이메일 스팸을 받으며 결국 완성한 workflow는 다음과 같다.
name: Deploy Hexo to CloudFly
on:
push:
branches:
- main
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout source (with submodules)
uses: actions/checkout@v3
with:
submodules: true
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Build Hexo site
run: npx hexo generate
- name: Deploy via FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.3
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
local-dir: ./public/
server-dir: /../
protocol: ftp
exclude: |
**/.git*
**/.github*
그 다음 repo setting에서 username, pass, server 변수를 설정한다.

이제 정상적으로 동작한다.
진행 중 겪은 오류
Cloudfly FTP가 이상함?

Cloudfly에서 준 설정을 그대로 써도 FTP가 안 됐다. 도메인 IP가 resolve되지 않았다. 결국 DNS를 서버 IP로 직접 잡았고, workflow 변수에서도 IP를 사용했다.
Hexo 테마 문제
기존 repo를 사용했기에 잘 될 줄 알았는데, submodule이라 테마가 올라가지 않았다. 해결은 간단했다.
git submodule add https://github.com/theme-particlex/hexo-theme-particlex themes/particlex
이 명령은 .gitmodules를 생성한다.
이후 테마가 업데이트되면 함께 업데이트된다.
결과
귀엽게 나왔다. 일단은 이렇게 쓰고 나중에 수정할 생각이다. Viblo 계정은 원래 dinhkarate였는데 여기서 너무 많이 써서 그냥 필명처럼 됐다 ㅋㅋ

Comments
Join the conversation
Leave a comment
No comments yet
Be the first to share your thoughts!