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
c2623075
Commit
c2623075
authored
Dec 10, 2025
by
jayed nahian
Browse files
new-1
parent
eb5895ea
Pipeline
#8156
failed
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
c2623075
# stages:
# - deploy
# before_script:
# # 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 # debug: make sure index.js exists
# deploy_job:
# stage: deploy
# tags:
# - 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:
# # -----------------------
# # 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
# # -----------------------
# # 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
image
:
reactnativecommunity/react-native-android:v13.0
stages
:
-
deploy
before_script
:
# 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
-
node --version
-
npm --version
-
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
# debug: make sure index.js exists
deploy_job
:
stage
:
deploy
tags
:
-
2nd
-
android-docker-runner
# ← Use this tag!
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
:
# -----------------------
# Java and Android SDK are pre-installed in Docker image!
-
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
...
...
@@ -39,42 +118,25 @@ deploy_job:
-
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
# Bundle JS
-
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/
# -----------------------
# 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
# -----------------------
# Find & Rename APK
# -----------------------
# Rename and upload
-
APK_DIR="./app/build/outputs/apk/release"
-
cd $APK_DIR
-
APK_NAME="$APK_NAME_PREFIX
"_"$
VERSION_NAME
"
_$(date '+%d%B').apk
-
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
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