切换到github ci

This commit is contained in:
小海
2020-04-21 21:57:17 +08:00
parent 0a9608b697
commit 102908a864
3 changed files with 87 additions and 31 deletions

47
.github/workflows/nodejs.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install -g @angular/cli
- run: bash build.sh
- name: SCP
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
port: ${{ secrets.SSH_PORT }}
source: "admin.tar,index.tar"
target: "/www/wwwroot/celess.cn"
- name: Run SSH command
uses: garygrossgarten/github-action-ssh@v0.5.0
with:
command: cd /www/wwwroot/celess.cn && bash deploy.sh
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
port: ${{ secrets.SSH_PORT }}

View File

@@ -1,31 +0,0 @@
image: node:latest
cache:
paths:
- node_modules/
deploy:
script:
# build
- npm install -g @angular/cli
- cd index && npm install
- ng build --prod
- cd ./dist/index/ && tar -cf index.tar ./*
- cp index.tar ../../../
# build
- cd ../../../admin && npm install
- ng build --prod
- cd ./dist/admin/ && sed '6s/\"\/\"/\"\/admin\/\"/g' index.html > index.txt && cp index.txt index.html
- cd .. && tar -cf admin.tar ./admin/
- cp admin.tar ../../ && cd ../../
# deploy
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY" | base64 --decode)
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan celess.cn >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- scp index.tar admin.tar root@celess.cn:/www/wwwroot/celess.cn
- ssh root@celess.cn "cd /www/wwwroot/celess.cn && bash deploy.sh"

40
build.sh Normal file
View File

@@ -0,0 +1,40 @@
#!/bin/sh
basePath=$(pwd)
$(hash node 2>/dev/null)
if ! [ $? ]; then
echo -e "\t\t请先安装nodejs -------> https://nodejs.org/"
exit 1
else
echo -e "\t\t nodejs\t\t $(node --version)"
fi
$(hash npm 2>/dev/null)
if ! [ $? ]; then
echo -e "\t\t Can't find command npm"
exit 1
else
echo -e "\t\t npm\t\t $(npm --version)"
fi
$(hash ng 2>/dev/null)
if ! [ $? ]; then
echo -e "\t\tinstall angular cli to build the project"
npm install -g @angular/cli
else
echo -e "\t\t angular-cli\t\t $(ng --version)"
fi
# index
echo -e "\t\tBuild for index page "
cd ./index && npm install && ng build --prod
cd ./dist/index/ && tar -cf index.tar ./* && cp index.tar $basePath
cd "$basePath"
# admin
echo -e "\t\tBuild for admin page "
cd $basePath/admin && npm install && ng build --prod
cd ./dist/admin/ && sed '6s/\"\/\"/\"\/admin\/\"/g' index.html > index.txt && cp index.txt index.html
cd .. && tar -cf admin.tar ./admin/ && cp admin.tar $basePath