iwbc
2/7/2018 - 7:51 AM

GitLab CI Website Coding Kit テストサーバ 自動デプロイ

##################################################################
# GitLab CI
# Website Coding Kit テストサーバ 自動デプロイ
##################################################################

# 設定
#
# "SSH_HOST","SSH_USER","SSH_PRIVATE_KEY"は、
# GitLab側の"Secret variables"に登録する

variables:
  # Website Coding Kitを動作させるnodeのバージョン
  NODE_VERSION: 8
  # SSHのポート
  SSH_PORT: 22
  # デプロイ対象ディレクトリパス
  SRC_PATH: public/
  # デプロイ先パス
  DEST_PATH: path/to/

##################################################################

image: registry.gitlab.com/iwbc/docker-website-coding-kit:node-$NODE_VERSION

deploy:
  only:
    # developブランチへのpushでデプロイする
    - develop
  script:
    - apt-get update && apt-get -y install openssh-client rsync git libpng-dev

    - eval $(ssh-agent -s)
    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null

    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh

    - ssh-keyscan -p $SSH_PORT $SSH_HOST >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
    
    - yarn run setup && yarn run build --env=production

    - rsync -avz --delete --exclude ".ht*" -e "ssh -p $SSH_PORT" $SRC_PATH $SSH_USER@$SSH_HOST:$DEST_PATH