on: [push] jobs: print-content: runs-on: ubuntu-latest steps: - name: Run uname run: uname -a - name: checkout code uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v2 - name: Install rsync run: | sudo apt-get update && sudo apt-get install -y rsync openssh-client # act 내부 컨테이너와 호스트 간의 workspace 권한 불일치 방지 chown -R $(id -u):$(id -g) $GITHUB_WORKSPACE - name: Setup SSH Key run: | # 격리된 임시 보안 디렉토리에 SSH 키 생성 (컨테이너 이탈 방지) mkdir -p ~/.ssh echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - name: Build run: | bun i bun run build - name: Deploy run: | # dist 폴더 경로를 $GITHUB_WORKSPACE 기준으로 절대 경로 명시 rsync -avz --delete -e "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no" "$GITHUB_WORKSPACE/dist/" imnyang@10.11.8.101:/var/static/imnya.ng/ - name: Cleanup if: always() run: | rm -rf ~/.ssh/id_rsa