mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-11-15 11:39:11 +03:00
84 lines
No EOL
2.3 KiB
YAML
84 lines
No EOL
2.3 KiB
YAML
image: gradle:jdk11
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
variables:
|
|
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
|
|
|
|
before_script:
|
|
- apt-get -y update
|
|
- 'which zip || ( apt-get -y install zip )'
|
|
- 'which git || ( apt-get -y install git )'
|
|
- export GRADLE_USER_HOME=`pwd`/.gradle
|
|
- chmod +x gradlew
|
|
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
|
- eval $(ssh-agent -s)
|
|
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add - > /dev/null
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
|
- git submodule sync
|
|
- mv modules modules_cache || true
|
|
- git submodule update --init --recursive --force
|
|
- cp -a modules_cache/* modules/ || true
|
|
build:
|
|
stage: build
|
|
script:
|
|
- gradle assemble
|
|
after_script:
|
|
- mkdir -p artifacts/modules
|
|
- cd LaunchServer/build/libs/
|
|
- zip -r -9 ../../../artifacts/libraries.zip * -x "LaunchServer.jar" -x "LaunchServer-clean.jar"
|
|
- cp LaunchServer.jar ../../../artifacts/LaunchServer.jar
|
|
- cd ../../../ServerWrapper/build/libs
|
|
- cp ServerWrapper.jar ../../../artifacts/ServerWrapper.jar
|
|
- cd ../../../LauncherAuthlib/build/libs
|
|
- cp LauncherAuthlib.jar ../../../artifacts/LauncherAuthlib.jar
|
|
- cd ../../../
|
|
- cp modules/*_module/build/libs/*.jar artifacts/modules
|
|
- cp modules/*_swmodule/build/libs/*.jar artifacts/modules
|
|
- cp modules/*_lmodule/build/libs/*.jar artifacts/modules
|
|
cache:
|
|
paths:
|
|
- .gradle
|
|
- LaunchServer/build
|
|
- Launcher/build
|
|
- LauncherCore/build
|
|
- LauncherAPI/build
|
|
- LauncherAuthlib/build
|
|
- modules/*_*module/build
|
|
artifacts:
|
|
expire_in: 6 week
|
|
paths:
|
|
- artifacts
|
|
|
|
test:
|
|
stage: test
|
|
script:
|
|
- gradle check
|
|
cache:
|
|
paths:
|
|
- .gradle
|
|
- LaunchServer/build
|
|
- Launcher/build
|
|
- LauncherCore/build
|
|
- LauncherAPI/build
|
|
- LauncherAuthlib/build
|
|
- modules/*_*module/build
|
|
|
|
deploy-demo:
|
|
stage: deploy
|
|
script:
|
|
- gradle build
|
|
- eval $(ssh $SSH_USER@$SSH_HOST 'cd $SSH_DIR && cat deploy.sh')
|
|
cache:
|
|
paths:
|
|
- .gradle
|
|
- LaunchServer/build
|
|
- Launcher/build
|
|
- LauncherCore/build
|
|
- LauncherAPI/build
|
|
- LauncherAuthlib/build
|
|
- modules/*_*module/build |