Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1001 B
Newer Older
Tom Käsler's avatar
Tom Käsler committed
variables:
  BUILD_DIR: dist

Tom Käsler's avatar
Tom Käsler committed
stages:
  - test
  - build
  - deploy

tslint:
  stage: test
  tags:
    - nodejs
  allow_failure: false
  dependencies: []
  script:
    - echo "{}" > package.json
    - npm install tslint-angular
    - npm install tslint-eslint-rules
Tom Käsler's avatar
Tom Käsler committed
    - npm install @angular/compiler
    - npm install @angular/core
    - npm install typescript
    - npm install rxjs
    - node_modules/tslint/bin/tslint -p ./tsconfig.json -c ./tslint.json ./src/**/*.ts

Tom Käsler's avatar
Tom Käsler committed
ngbuild:
  stage: build
  tags:
    - nodejs
  allow_failure: false
  dependencies: []
  script:
    - npm install
    - ng build --prod
  artifacts:
    paths:
      - "$BUILD_DIR"

deploy:
  stage: deploy
  only:
    - master
  tags:
    - ssh
  dependencies:
    - tslint
Tom Käsler's avatar
Tom Käsler committed
    - ngbuild
Tom Käsler's avatar
Tom Käsler committed
  script:
    - eval $(ssh-agent -s)
    - mkdir ~/.ssh #&& echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
    - ssh-keyscan "$SERVER_URL" >> ~/.ssh/known_hosts
    - ssh-add <(echo "$SSH_PRIVATE_KEY")
    - scp -r "$BUILD_DIR"* "$SSH_URL"