minecraft-datapacks/.gitlab-ci.yml

36 lines
1.1 KiB
YAML

# This file is a template, and might need editing before it works on your project.
# see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options
# you can delete this line if you're not using Docker
image: alpine:latest
build:
stage: build
script:
- apk add --no-cache zip
- mkdir out
- find -maxdepth 1 -type d -not -name ".git" -not -name "out" -not -name "." | xargs -I '{}' sh -c 'cd {} && zip -r ../out/{} .'
artifacts:
paths:
- ./out
deploy:
stage: deploy
script:
- 'which ssh-agent || ( apk add --no-cache openssh-client )'
- apk add --no-cache rsync
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- rsync --dry-run -avz out/ "$SERVER_HOST":"$WPD_FOLDER" --delete --exclude bukkit
- ssh "$SERVER_HOST" mcrcon -H localhost -p minecraft "say hello to my little friend"
- ssh "$SERVER_HOST" mcrcon -H localhost -p minecraft "minecraft:reload"
only:
- master
when: manual