diff --git a/jekyll/gitlab-ci-ruby_3_1.yml b/jekyll/gitlab-ci-ruby_3_1.yml new file mode 100644 index 0000000000000000000000000000000000000000..2f6e48360665cfa9b77d543477a5099ca1eb44a7 --- /dev/null +++ b/jekyll/gitlab-ci-ruby_3_1.yml @@ -0,0 +1,79 @@ +image: ruby:3.1 + +stages: + - build + - deploy + +variables: +# JEKYLL_ENV: production + LC_ALL: C.UTF-8 + BUILD_DIR: public/ + +cache: + paths: + - web/vendor/bundle/ + +.build: + stage: build + before_script: + - apt-get update -qy + - gem install bundler + - cd web/ + - bundle install --path vendor/bundle + script: + - bundle exec jekyll build -d $BUILD_DIR --config $CONFIG + artifacts: + paths: + - web/$BUILD_DIR + +.deploy: + stage: deploy + variables: + before_script: + - apt-get update -qy + - apt-get install -y lftp + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - ssh-keyscan $SFTP_HOST >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + - cd web/ + script: + - lftp -e "set sftp:auto-confirm yes; + open sftp://$SFTP_HOST; + user $SFTP_USER $SFTP_PASSWORD; + mirror --exclude-glob .git* + --exclude .git/ + --reverse + --verbose + --delete + $BUILD_DIR + $DEPLOY_DIR; + bye" + +build.dev: + extends: .build + variables: + CONFIG: _config.yml,_config-dev.yml + only: + - web.dev + +build.prod: + extends: .build + variables: + CONFIG: _config.yml + only: + - web.prod + +deploy.dev: + extends: .deploy + variables: + DEPLOY_DIR: $DEV_DEPLOY_DIR + only: + - web.dev + +deploy.prod: + extends: .deploy + variables: + DEPLOY_DIR: $PROD_DEPLOY_DIR + only: + - web.prod