Skip to content
.gitlab-ci.yml 1.26 KiB
Newer Older
image: "ruby:alpine3.9" # make sure this is in sync with Dockerfile

services:
  - docker:dind
Evs's avatar
Evs committed

# Cache gems in between builds
cache:
  paths:
    - vendor/ruby

stages:
  - test
Evs's avatar
Evs committed
rubocop:
  stage: test
  script:
Evaryont's avatar
Evaryont committed
    - ruby -v
    - apk --update add libsodium opus ffmpeg tzdata sqlite-libs build-base sqlite-dev libsodium-dev opus-dev ffmpeg-dev
    - gem install bundler
    - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
Evaryont's avatar
Evaryont committed
    - bundle exec rake rubocop
build_container:
  image: docker:latest
  script:
    - echo "Logging into Gitlab Registry ${CI_REGISTRY} as ${CI_REGISTRY_USER}"
    - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
    - docker build --pull -t $CI_REGISTRY_IMAGE:latest .
    - docker push $CI_REGISTRY_IMAGE:latest
  stage: deploy
Evaryont's avatar
Evaryont committed
  script:
    - 'which ssh-agent || ( apk --update add openssh-client )'
    - mkdir -p ~/.ssh
Evaryont's avatar
Evaryont committed
    - echo "$GITLAB_AETHER_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa
    - chmod 700 ~/.ssh/id_rsa
    - eval "$(ssh-agent -s)"
    - ssh-add ~/.ssh/id_rsa
    - ssh-keyscan -H 'comma.riki.tech' >> ~/.ssh/known_hosts
    - ssh colin@comma.riki.tech '/opt/ruwby-bot/run.sh'
  only:
    - master