Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.47 KiB
Newer Older
  • Learn to ignore specific revisions
  • lain's avatar
    ci.
    lain committed
    # This file is a template, and might need editing before it works on your project.
    # Official framework image. Look for the different tagged releases at:
    # https://hub.docker.com/r/library/node/tags/
    
    lambadalambda's avatar
    lambadalambda committed
    image: node:7
    
    lain's avatar
    ci.
    lain committed
    
    
    lain's avatar
    lain committed
    before_script:
      # Install ssh-agent if not already installed, it is required by Docker.
      # (change apt-get to yum if you use a CentOS-based image)
      - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
    
      # Run ssh-agent (inside the build environment)
      - eval $(ssh-agent -s)
    
      # For Docker builds disable host key checking. Be aware that by adding that
      # you are suspectible to man-in-the-middle attacks.
      # WARNING: Use this only with the Docker executor, if you use it with shell
      # you will overwrite your user's SSH config.
      - mkdir -p ~/.ssh
      - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
    
    
    lain's avatar
    ci.
    lain committed
    # This folder is cached between builds
    # http://docs.gitlab.com/ce/ci/yaml/README.html#cache
    
    lain's avatar
    lain committed
    #cache:
    #  paths:
    #  - node_modules/
    
    lain's avatar
    ci.
    lain committed
    
    
    lambadalambda's avatar
    lambadalambda committed
    stages:
    
    lain's avatar
    lain committed
      - lint
    
    lambadalambda's avatar
    lambadalambda committed
      - build
      - test
      - deploy
    
    
    lain's avatar
    lain committed
    lint:
      stage: lint
      script:
        - yarn
        - npm run lint
    
    
    lain's avatar
    ci.
    lain committed
    test:
    
    lambadalambda's avatar
    lambadalambda committed
      stage: test
    
    lain's avatar
    ci.
    lain committed
      script:
    
    lambadalambda's avatar
    lambadalambda committed
        - yarn
    
    lain's avatar
    ci.
    lain committed
        - npm run unit
    
    lain's avatar
    lain committed
    
    
    lain's avatar
    ci.
    lain committed
    build:
    
    lambadalambda's avatar
    lambadalambda committed
      stage: build
    
    lain's avatar
    ci.
    lain committed
      script:
    
    lambadalambda's avatar
    lambadalambda committed
        - yarn
    
    lain's avatar
    lain committed
        - npm run build
    
    lain's avatar
    lain committed
      artifacts:
        paths:
        - dist/
    
    lain's avatar
    lain committed
    
    deploy:
    
    lambadalambda's avatar
    lambadalambda committed
      stage: deploy
    
    lain's avatar
    lain committed
      environment: dev
      only:
        - develop
      script:
    
    lambadalambda's avatar
    lambadalambda committed
        - yarn
    
    lain's avatar
    lain committed
        - npm run build
    
    lain's avatar
    lain committed
        - ssh-add <(echo "$SSH_PRIVATE_KEY")
    
    lambadalambda's avatar
    lambadalambda committed
        - scp -r dist/* pleroma@tenshi.heldscal.la:~/pleroma