1+ name : deploy
2+
3+ on :
4+ push :
5+ branches :
6+ - master
7+
8+ jobs :
9+ deploy :
10+ runs-on : ubuntu-latest
11+ steps :
12+ - uses : actions/checkout@master
13+ - name : Get yarn cache directory path
14+ id : yarn-cache-dir-path
15+ run : echo "::set-output name=dir::$(yarn cache dir)"
16+
17+ - uses : actions/cache@v1
18+ id : yarn-cache
19+ with :
20+ path : ${{ steps.yarn-cache-dir-path.outputs.dir }}
21+ key : ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
22+ restore-keys : |
23+ ${{ runner.os }}-yarn-
24+
25+ - name : Read .nvmrc
26+ run : echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
27+ id : nvm
28+ - name : Use Node.js (.nvmrc)
29+ uses : actions/setup-node@v1
30+ with :
31+ node-version : " ${{ steps.nvm.outputs.NVMRC }}"
32+ - name : Installing Dependencies
33+ run : yarn install
34+ - name : Build
35+ run : yarn build --env production
36+ - name : Create temp Directory
37+ uses : appleboy/ssh-action@master
38+ with :
39+ host : ${{ secrets.HOST_PRODUCTION }}
40+ username : ${{ secrets.USERNAME }}
41+ key : ${{ secrets.PRIVATE_KEY }}
42+ script : mkdir -p ~/temp && rm -rf ~/temp/*
43+ - name : Upload Build
44+ uses : appleboy/scp-action@master
45+ with :
46+ host : ${{ secrets.HOST_PRODUCTION }}
47+ username : ${{ secrets.USERNAME }}
48+ key : ${{ secrets.PRIVATE_KEY }}
49+ source : " dist"
50+ target : " temp"
51+ - name : Replace New Build
52+ uses : appleboy/ssh-action@master
53+ with :
54+ host : ${{ secrets.HOST_PRODUCTION }}
55+ username : ${{ secrets.USERNAME }}
56+ key : ${{ secrets.PRIVATE_KEY }}
57+ script : rm -rf ~/frontends/troublemaker.codingblocks.com/* && cp -rf ~/temp/dist/* ~/frontends/troublemaker.codingblocks.com && rm -rf ~/temp
0 commit comments