From 6e17b366bc00beb93bcd4abf94d08817db7c42d4 Mon Sep 17 00:00:00 2001 From: lewa <lene.wasskog@nibio.no> Date: Wed, 29 Nov 2023 16:03:03 +0100 Subject: [PATCH] chore: New attempt --- .gitlab-ci.yml | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f230a7d..5421018 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,7 +59,7 @@ test: - if: $CI_COMMIT_REF_NAME == $MAIN_BRANCH - if: $CI_COMMIT_REF_NAME == $RELEASE_BRANCH -debug-cli: +deploy-to-staging: stage: deploy script: # Authentication setup @@ -67,13 +67,37 @@ debug-cli: - echo "$SSH_PRIVATE_KEY" >> ~/.ssh/id_dsa - chmod 600 ~/.ssh/id_dsa - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config - - CURRENTLY_DEPLOYED=$(ssh deployer@128.39.192.192 "$CLI_PATH/jboss-cli.sh --user=$WILDFLY_ADMIN_USERNAME --password=$WILDFLY_ADMIN_PASSWORD --connect --commands=ls\ deployment | grep VIPSCore.*war") + # Find name of war file in target folder (built previously in build stage), exit if none exists + - WAR_FILE=$(find target -maxdepth 1 -type f -name "*.war" | sort -n | tail -1 | xargs basename) + - if [ -z "$WAR_FILE" ]; then echo "No war file found in target directory"; exit 1; fi + # Create temporary directory on server, copy war file and deployment script there + - echo "Create temporary directory on the server" + - ssh $SERVER_USER@$SERVER_IP "mkdir -p $TMP_PATH" + - scp target/$WAR_FILE $SERVER_USER@$SERVER_IP:$TMP_PATH + - echo "deploy $TMP_PATH/$WAR_FILE --force" > deploy.cli + - scp deploy.cli $SERVER_USER@$SERVER_IP:$TMP_PATH + # Find name of currently deployed application. Undeploy. + - CURRENTLY_DEPLOYED=$(ssh $SERVER_USER@$SERVER_IP "$CLI_PATH/jboss-cli.sh --user=$WILDFLY_ADMIN_USERNAME --password=$WILDFLY_ADMIN_PASSWORD --connect --commands=ls\ deployment | grep VIPSCore.*war") - echo $CURRENTLY_DEPLOYED - - ssh deployer@128.39.192.192 "$CLI_PATH/jboss-cli.sh --user=$WILDFLY_ADMIN_USERNAME --password=$WILDFLY_ADMIN_PASSWORD --connect --command='undeploy $CURRENTLY_DEPLOYED'" + - ssh $SERVER_USER@$SERVER_IP "$CLI_PATH/jboss-cli.sh --user=$WILDFLY_ADMIN_USERNAME --password=$WILDFLY_ADMIN_PASSWORD --connect --command='undeploy $CURRENTLY_DEPLOYED'" + # Deploy war file using JBoss CLI and credentials given in CI/CD variables + - echo "Deploy $WAR_FILE using JBoss CLI" + - ssh $SERVER_USER@$SERVER_IP "/disks/data01/wildfly/wildfly-25.0.1.Final/bin/jboss-cli.sh --user=$WILDFLY_ADMIN_USERNAME --password=$WILDFLY_ADMIN_PASSWORD --connect --file=$TMP_PATH/deploy.cli" > deployment.log 2>&1 + # Restart should not be necessary + - echo "Restart WildFly" + - ssh $SERVER_USER@$SERVER_IP "sudo systemctl restart wildfly" + # Delete temporary directory on server + - echo "Delete temporary directory" + - ssh $SERVER_USER@$SERVER_IP "rm -rf $TMP_PATH" + after_script: + - echo "Deployment complete" tags: - vips-java rules: - if: $CI_COMMIT_REF_NAME == $MAIN_BRANCH + environment: + name: staging + url: https://vipscore02test.nibio.no deploy-to-production: stage: deploy -- GitLab