Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
my-test-group
TestAppCiNew
Commits
130eca84
Commit
130eca84
authored
Dec 10, 2025
by
jayed nahian
Browse files
new-55
parent
383a1a93
Changes
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
130eca84
image
:
reactnativecommunity/react-native-android:v13.0
stages
:
stages
:
-
deploy
-
deploy
before_script
:
before_script
:
-
node --version
# Load NVM and Node.js
-
npm --version
-
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
-
rm -rf node_modules package-lock.json
-
npm cache clean --force
-
npm cache clean --force
-
npm install
-
npm install
# Verify React installation
-
ls -la node_modules/react/
-
ls -la node_modules/react/
-
ls -la index.js
-
ls -la index.js
# debug: make sure index.js exists
deploy_job
:
deploy_job
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
android-docker-runner
-
2nd
variables
:
variables
:
VERSION_NAME
:
'
4.4.2'
VERSION_NAME
:
'
4.4.2'
APK_NAME_PREFIX
:
'
testApp_01'
APK_NAME_PREFIX
:
'
testApp_01'
APK_NAME
:
$APK_NAME_PREFIX'_'$VERSION_NAME'_'$(date '+%d%B')
SSH_PASSPHRASE
:
'
TlTech'
SSH_PASSPHRASE
:
'
TlTech'
SERVER_IP
:
'
n.trucklagbe.com'
SERVER_IP
:
'
n.trucklagbe.com'
SSH_PORT
:
'
3716'
SSH_PORT
:
'
3716'
SSH_USER
:
'
custodian'
SSH_USER
:
'
custodian'
script
:
script
:
-
echo "Java version:"
# -----------------------
-
java -version
# SSH setup
-
echo "Android SDK
:
$ANDROID_HOME"
# -----------------------
-
mkdir -p ~/.ssh
-
mkdir -p ~/.ssh
-
echo "$SSH_KEY" > ~/.ssh/id_rsa
-
echo "$SSH_KEY" > ~/.ssh/id_rsa
-
chmod 600 ~/.ssh/id_rsa
-
chmod 600 ~/.ssh/id_rsa
-
eval "$(ssh-agent -s)"
-
eval "$(ssh-agent -s)"
-
ssh-add ~/.ssh/id_rsa <<< "$SSH_PASSPHRASE"
-
ssh-add ~/.ssh/id_rsa <<< "$SSH_PASSPHRASE"
-
ssh-keyscan -H -p $SSH_PORT $SERVER_IP >> ~/.ssh/known_hosts
-
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/
-
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
-
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 ./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
-
./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
:
except
:
-
pushes
-
pushes
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment