diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 35401ec..7e43ba0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,18 +1,35 @@ stages: + - test - deploy before_script: - # update and install git - - apt-get update -qq - - apt-get install -qq git + - apt-get -y update + - apt-get -y install git docker docker-compose # configure SSH keys - 'which ssh-agent || ( apt-get install -qq openssh-client )' - eval $(ssh-agent -s) - ssh-add <(echo "$SSH_PRIVATE_KEY") - mkdir -p ~/.ssh - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + +docker-compose-test: + image: debian:bullseye + stage: test + when: always + rules: + - changes: + - docker-compose.yml + - server/config/minecraft/ + when: manual + script: + - find ~+ -type f -name docker-compose.yml > composes.txt + - find ~+/server/config/minecraft/ -type f -name *.yml >> composes.txt + - for file in `cat composes.txt`; do docker-compose -f $file config; done + - rm composes.txt + server-deploy: + image: debian:bullseye stage: deploy when: always rules: @@ -21,3 +38,25 @@ server-deploy: when: manual script: - ssh joey@joey-server "cd /home/joey/homelab && git pull" + +seedbox-deploy: + image: debian:bullseye + stage: deploy + when: always + rules: + - changes: + - seedbox/ + when: manual + script: + - ssh joey@joey-seedbox "cd /home/joey/homelab && git pull" + +jafner-tools-deploy: + image: debian:bullseye + stage: deploy + when: always + rules: + - changes: + - jafner-tools/ + when: manual + script: + - ssh root@jafner.tools "cd /root/homelab && git pull" \ No newline at end of file