-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
943469c
commit ae4ab85
Showing
1 changed file
with
22 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,50 +5,37 @@ on: | |
branches: [main] | ||
|
||
jobs: | ||
build: | ||
build-and-deploy: | ||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- name: Get current time | ||
uses: josStorer/[email protected] | ||
id: current-time | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Setup Node.js | ||
uses: actions/setup-node@v2 | ||
with: | ||
format: YYYY-MM-DDTHH-mm-ss | ||
utcOffset: "+09:00" | ||
node-version: '14' # 원하는 Node.js 버전을 지정하세요 | ||
|
||
- uses: actions/checkout@v2 | ||
- name: Docker build | ||
run: | | ||
docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} | ||
docker build -f Dockerfile -t taewan2002/docent-front:${{steps.current-time.outputs.formattedTime}} . | ||
docker push taewan2002/docent-front:${{steps.current-time.outputs.formattedTime}} | ||
- name: Install Dependencies | ||
run: npm install | ||
|
||
- name: Build Project | ||
run: npm run build | ||
|
||
- name: Deploy to Server | ||
uses: appleboy/scp-action@master | ||
with: | ||
host: ${{ secrets.NCP_HOST }} | ||
username: ${{ secrets.NCP_USER }} | ||
password: ${{ secrets.NCP_PASSWORD }} | ||
source: "./build/*" | ||
target: "/sarabwayu" | ||
|
||
- name: Deploy | ||
- name: Restart Web Server (Optional) | ||
uses: appleboy/ssh-action@master | ||
with: | ||
host: ${{ secrets.NCP_HOST }} | ||
username: ${{ secrets.NCP_USER }} | ||
password: ${{ secrets.NCP_PASSWORD }} | ||
key: ${{ secrets.NCP_KEY }} | ||
envs: GITHUB_SHA | ||
script: | | ||
sudo systemctl stop nginx || true | ||
# Pull the new image | ||
echo "🐳 Docker Image Pull" | ||
sudo docker pull taewan2002/docent-front:${{steps.current-time.outputs.formattedTime}} | ||
# Stop & Start | ||
echo "🐳 Docker Stop & Start" | ||
sudo docker stop docent-front | ||
sudo docker run --rm -d --name docent-front -p 80:80 taewan2002/docent-front:${{steps.current-time.outputs.formattedTime}} | ||
echo "▶️ Restarting Nginx service" | ||
sudo systemctl start nginx || true | ||
# Check | ||
echo "🐳 Docker ps" | ||
docker ps | ||
# Cleanup old images | ||
echo "🧹 Cleaning up old Docker images" | ||
sudo docker rmi -f $(sudo docker images -q) || true | ||
sudo systemctl restart nginx |