image: golang:1.12-alpine stages: - lint - build - deploy before_script: - apk add --no-cache git make rsync openssh-client - mkdir -p /go/src/git.scc.kit.edu/feudal /go/src/_/builds - cp -r $CI_PROJECT_DIR /go/src/git.scc.kit.edu/feudal/feudalClient - ln -s /go/src/git.scc.kit.edu/feudal /go/src/_/builds/feudalClient - make dep lint: stage: lint script: make lint build: stage: build script: - make build artifacts: paths: - feudalClient deploy_dev: stage: deploy environment: name: dev only: - dev script: - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - rsync -v feudalClient $DEV_USER@$DEV_HOST:bin/feudalClientDev deploy_master: stage: deploy environment: name: master only: - master script: - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - rsync -v feudalClient $DEV_USER@$DEV_HOST:bin/feudalClient