42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
version: 2.1
|
|
|
|
jobs:
|
|
deploy:
|
|
docker:
|
|
- image: cimg/node:22.9
|
|
resource_class: medium
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- "86:3b:c9:a6:d1:b9:a8:dc:0e:00:db:99:8d:19:c4:3e"
|
|
- run:
|
|
name: Add known hosts
|
|
command: |
|
|
mkdir -p ~/.ssh
|
|
echo $GH_HOST >> ~/.ssh/known_hosts
|
|
echo $RPM_HOST >> ~/.ssh/known_hosts
|
|
- run:
|
|
name: Install NPM
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y rsync npm
|
|
- run:
|
|
name: Clone WebVM
|
|
command: |
|
|
git clone --branch $CIRCLE_BRANCH --single-branch git@github.com:leaningtech/webvm.git
|
|
- run:
|
|
name: Build WebVM
|
|
command: |
|
|
cd webvm/
|
|
npm install
|
|
npm run build
|
|
- run:
|
|
name: Deploy webvm
|
|
command: |
|
|
rsync -avz -e "ssh -p ${SSH_PORT}" webvm/build/ leaningtech@${SSH_HOST}:/srv/web/webvm/
|
|
|
|
workflows:
|
|
deploy:
|
|
when:
|
|
equal: [ << pipeline.trigger_source >>, "api" ]
|
|
jobs:
|
|
- deploy
|