80 lines
No EOL
1.8 KiB
YAML
80 lines
No EOL
1.8 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, main ]
|
|
lint:
|
|
image: node
|
|
commands:
|
|
- yarn lint
|
|
when:
|
|
event: [ push, pull_request ]
|
|
branch: [ hotfix/*, feature/*, renovate/*, develop, main ]
|
|
test:
|
|
image: node
|
|
commands:
|
|
- yarn test
|
|
when:
|
|
event: [ push, pull_request ]
|
|
branch: [ hotfix/*, feature/*, renovate/*, develop, main ]
|
|
|
|
# Package production build
|
|
package_prod:
|
|
image: node
|
|
commands:
|
|
- yarn package
|
|
when:
|
|
event: tag
|
|
branch: main
|
|
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.68.120:/home/vylpes/apps/random-bunny/random-bunny_prod
|
|
when:
|
|
event: tag
|
|
branch: main
|
|
|
|
# Package stage build
|
|
package_stage:
|
|
image: node
|
|
commands:
|
|
- 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.68.120:/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
|
|
api_key:
|
|
from_secret: NPM_TOKEN
|
|
when:
|
|
event: tag
|
|
branch: main |