File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed
Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ name : blaybus CI/CD
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+
8+ jobs :
9+ build-and-deploy :
10+ runs-on : ubuntu-latest
11+
12+ steps :
13+ # (1) 깃 체크아웃
14+ - name : Check out repository
15+ uses : actions/checkout@v2
16+
17+ # (2) Docker 이미지 빌드
18+ - name : Build Docker Image
19+ run : |
20+ docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO_NAME }}:latest .
21+
22+ # (3) DockerHub 로그인
23+ - name : DockerHub Login
24+ run : |
25+ echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
26+
27+ # (4) Docker 이미지 푸시
28+ - name : Push Docker Image
29+ run : |
30+ docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO_NAME }}:latest
31+
32+ # (5) SSH로 서버 접속 후 컨테이너 실행
33+ - name : Deploy to Server
34+ uses : appleboy/ssh-action@master
35+ with :
36+ host : ${{ secrets.SERVER_HOST }}
37+ username : ${{ secrets.SERVER_USERNAME }}
38+ key : ${{ secrets.SERVER_SSH_KEY }}
39+ script : |
40+ # 이미 돌아가는 컨테이너가 있다면 중단/제거
41+ docker stop ${{ secrets.DOCKERHUB_REPO_NAME }} || true
42+ docker rm ${{ secrets.DOCKERHUB_REPO_NAME }} || true
43+
44+ # 최신 이미지 pull
45+ docker pull ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO_NAME }}:latest
46+
47+ # Docker-Compose 실행
48+ docker-compose up -d
You can’t perform that action at this time.
0 commit comments