-
git actions로 ssh 접속하여 자동 배포 하기Developer 2024. 2. 1. 10:43728x90
로컬에서 작업하고 푸쉬하고
마스터 브랜치로 합치고
서버에 접속해서 빌드&배포 하고...
개발자는 귀찮음이 많아야 좋은 환경들을 만들어 간다고 합니다.
위와 같은 작업이 슬슬 귀찮아져서 자동 배포를 적용해야겠다 싶었습니다.
goorm ide로 ubuntu 서버를 사용하고 있고 vue3로 제작된 웹 페이지를 운영하는 환경입니다.🔑 마스터 브랜치에 코드가 변경되면 빌드&배포가 실행되게 할 수 없을까?
goorm ide에 jenkins를 설치해서 ci/cd환경을 구축해보려 했는데 설치가 잘 되지 않아 그냥 계속 수동으로 빌드&배포를 진행해왔습니다.
수개월간 방치하다 문득 git actions가 떠올랐습니다.
git actions로 브랜치에 코드 변화 감지를 할 수 있고 명령어를 실행시킬 수 있기에 ssh 접근도 가능한지 알아봤습니다.git actions로 ssh 접속하여 빌드&배포 스크립트를 실행시키게 하면 되겠다!
📃 배포 스크립트 만들기
#!/bin/bash project() { cd /workspace/project git pull npm run build pm2 restart project } project
workspace의 project폴더로 이동한 후 git pull을 받고 빌드를 하고 pm2를 재시작하는 스크립트입니다.
cd 경로를 지정할 때 상대경로로 지정하게 되면 수동으로는 잘 동작하지만, ssh로 접근 시에는 다르기때문에 절대경로로 지정해줍니다.💻 git actions 스크립트 만들기
.github/workflows/main.yml
name: remote ssh command on: [push] jobs: build: name: Build runs-on: ubuntu-latest steps: - name: executing remote ssh commands using password uses: appleboy/ssh-action@master with: host: - username: - password: - port: - script: /workspace/baepo.sh
github 레포지토리로 이동해서 main.yml 파일을 위와 같이 만들어줍니다.
host와 username, password, port를 잘 지정해주고 먼저 만들어놨던 baepo.sh파일을 실행하도록 스크립트를 만들어줍니다.728x90'Developer' 카테고리의 다른 글
다수의 프로젝트 병렬로 빌드&배포하기 (0) 2024.02.06 팀즈 WebHook으로 에러 알림받기 (0) 2024.02.02 web push, 이렇게 쉬운거였어? (2) 2024.01.29 Vue3 Teleport, Pinia랑 찰떡궁합?! (0) 2024.01.29 Placeholder 줄바꿈 적용하기 (0) 2024.01.26