Commit 130eca84 authored by jayed nahian's avatar jayed nahian
Browse files

new-55

parent 383a1a93
image: reactnativecommunity/react-native-android:v13.0
stages:
- deploy
before_script:
- node --version
- npm --version
# Load NVM and Node.js
- export NVM_DIR="$HOME/.nvm"
- '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"'
- nvm use 20
# Clean and install dependencies
- rm -rf node_modules package-lock.json
- npm cache clean --force
- npm install
# Verify React installation
- ls -la node_modules/react/
- ls -la index.js
- ls -la index.js # debug: make sure index.js exists
deploy_job:
stage: deploy
tags:
- android-docker-runner
- 2nd
variables:
VERSION_NAME: '4.4.2'
APK_NAME_PREFIX: 'testApp_01'
APK_NAME: $APK_NAME_PREFIX'_'$VERSION_NAME'_'$(date '+%d%B')
SSH_PASSPHRASE: 'TlTech'
SERVER_IP: 'n.trucklagbe.com'
SSH_PORT: '3716'
SSH_USER: 'custodian'
script:
- echo "Java version:"
- java -version
- echo "Android SDK: $ANDROID_HOME"
# -----------------------
# SSH setup
# -----------------------
- mkdir -p ~/.ssh
- echo "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- eval "$(ssh-agent -s)"
- ssh-add ~/.ssh/id_rsa <<< "$SSH_PASSPHRASE"
- ssh-keyscan -H -p $SSH_PORT $SERVER_IP >> ~/.ssh/known_hosts
# -----------------------
# Optional: download secure files if needed
# -----------------------
- curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
# -----------------------
# Build APK
# -----------------------
- export JAVA_HOME=$(/usr/libexec/java_home -v 17)
- echo "sdk.dir=/Users/tltestuser/Library/Android/sdk" > android/local.properties
# Bundle JS (make sure in project root)
- cd $CI_PROJECT_DIR
- npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
# Go to Android folder and clean old resources
- cd android
- rm -rf ./app/src/main/res/**/node_modules_* ./app/src/main/res/**/app_assets* ./app/src/main/res/**/assets* ./app/src/main/res/**/app*
- rm -rf ./.gradle/6.8.3/executionHistory/executionHistory.lock
# Build release APK
- ./gradlew assembleRelease
- cd ./app/build/outputs/apk/release
- mv app-release.apk "${APK_NAME_PREFIX}_${VERSION_NAME}_$(date '+%d%B').apk"
- scp -P $SSH_PORT "${APK_NAME_PREFIX}_${VERSION_NAME}_$(date '+%d%B').apk" $SSH_USER@$SERVER_IP:/var/www/n.trucklagbe.com/html/APK/QO/
# -----------------------
# Find & Rename APK
# -----------------------
- APK_DIR="./app/build/outputs/apk/release"
- cd $APK_DIR
- APK_NAME="$APK_NAME_PREFIX"_"$VERSION_NAME"_$(date '+%d%B').apk
- mv app-release.apk "$APK_NAME"
# -----------------------
# Upload APK
# -----------------------
- scp -P $SSH_PORT "$APK_NAME" $SSH_USER@$SERVER_IP:/var/www/n.trucklagbe.com/html/APK/QO/
# - scp -P $SSH_PORT *.apk $SSH_USER@$SERVER_IP:/var/www/n.trucklagbe.com/html/APK/QO/
except:
- pushes
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment