92 lines
2.3 KiB
YAML
92 lines
2.3 KiB
YAML
steps:
|
|
build:
|
|
# Build and test
|
|
image: node
|
|
commands:
|
|
- yarn install --frozen-lockfile
|
|
- yarn build
|
|
when:
|
|
event: [ push, pull_request ]
|
|
branch: [ hotfix/*, feature/*, renovate/*, develop, master ]
|
|
lint:
|
|
image: node
|
|
commands:
|
|
- yarn lint
|
|
when:
|
|
event: [ push, pull_request ]
|
|
branch: [ hotfix/*, feature/*, renovate/*, develop, master ]
|
|
test:
|
|
image: node
|
|
commands:
|
|
- yarn test
|
|
when:
|
|
event: [ push, pull_request ]
|
|
branch: [ hotfix/*, feature/*, renovate/*, develop, master ]
|
|
|
|
# Package production build
|
|
package_prod:
|
|
image: node
|
|
commands:
|
|
- apt install unzip -y
|
|
- wget https://github.com/xerub/ldid/releases/download/42/ldid.zip
|
|
- unzip ldid.zip
|
|
- mkdir /opt/ldid/
|
|
- cp linux64/ldid /opt/ldid/
|
|
- export PATH=/opt/ldid:$PATH
|
|
- yarn package
|
|
when:
|
|
event: push
|
|
branch: master
|
|
rsync_prod:
|
|
image: alpine
|
|
secrets: [ ssh_key ]
|
|
commands:
|
|
- apk add rsync openssh-client
|
|
- eval `ssh-agent -s`
|
|
- echo "$SSH_KEY" | tr -d '\r' | ssh-add -
|
|
- rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.1.115:/home/vylpes/apps/random-bunny/random-bunny_prod
|
|
when:
|
|
event: push
|
|
branch: master
|
|
|
|
# Package stage build
|
|
package_stage:
|
|
image: node
|
|
commands:
|
|
- apt install unzip -y
|
|
- wget https://github.com/xerub/ldid/releases/download/42/ldid.zip
|
|
- unzip ldid.zip
|
|
- mkdir /opt/ldid/
|
|
- cp linux64/ldid /opt/ldid/
|
|
- export PATH=/opt/ldid:$PATH
|
|
- yarn package
|
|
when:
|
|
event: push
|
|
branch: develop
|
|
rsync_stage:
|
|
image: alpine
|
|
secrets: [ ssh_key ]
|
|
commands:
|
|
- apk add rsync openssh-client
|
|
- eval `ssh-agent -s`
|
|
- echo "$SSH_KEY" | tr -d '\r' | ssh-add -
|
|
- rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.1.115:/home/vylpes/apps/random-bunny/random-bunny_stage
|
|
when:
|
|
event: push
|
|
branch: develop
|
|
|
|
# Publish to NPM
|
|
publish:
|
|
image: plugins/npm
|
|
settings:
|
|
username:
|
|
from_secret: NPM_USERNAME
|
|
email:
|
|
from_secret: NPM_EMAIL
|
|
password:
|
|
from_secret: NPM_PASSWORD
|
|
token:
|
|
from_secret: NPM_TOKEN
|
|
when:
|
|
event: push
|
|
branch: master
|