1
0
mirror of https://github.com/sasjs/server.git synced 2025-12-10 19:34:34 +00:00

chore: copy sas exe script extracted common

This commit is contained in:
Saad Jutt
2021-11-16 06:12:22 +05:00
parent 44fe149ed8
commit b20d6ec59c
6 changed files with 36 additions and 55 deletions

View File

@@ -4,6 +4,7 @@ COPY ["package.json","package-lock.json", "./"]
RUN npm ci
COPY ./api .
COPY ./certificates ../certificates
COPY ./sas_exe ../sas_exe
# RUN chown -R node /usr/server/api
# USER node
CMD ["npm","start"]

View File

@@ -3,6 +3,7 @@ import mongoose from 'mongoose'
import { configuration } from '../../package.json'
import { getDesktopFields } from '.'
import { populateClients } from '../routes/api/auth'
import { fileExists } from '@sasjs/utils'
export const connectDB = async () => {
const { MODE } = process.env
@@ -18,10 +19,13 @@ export const connectDB = async () => {
} else {
const { SAS_EXEC } = process.env
process.sasLoc = SAS_EXEC
? path.join(__dirname, '..', '..', '...', SAS_EXEC)
? path.join(__dirname, '..', '..', '..', SAS_EXEC)
: configuration.sasPath
}
console.log('SAS_EXEC: ', process.sasLoc)
console.log('SAS_EXEC Exists: ', await fileExists(process.sasLoc))
// NOTE: when exporting app.js as agent for supertest
// we should exlcude connecting to the real database
if (process.env.NODE_ENV !== 'test') {

View File

@@ -15,6 +15,7 @@ services:
REFRESH_TOKEN_SECRET: ${REFRESH_TOKEN_SECRET}
AUTH_CODE_SECRET: ${AUTH_CODE_SECRET}
DB_CONNECT: mongodb://mongodb:27017/sasjs
SAS_EXEC: ${SAS_EXEC}
expose:
- ${PORT_API}
ports:

21
dockerSASexe.sh Executable file
View File

@@ -0,0 +1,21 @@
sasjsPath=$(grep sasPath ./api/package.json | sed 's/.*"sasPath": "\(.*\)".*/\1/')
if [ -z "$sasjsPath" ]
then
echo "Please enter path to SAS executable:"
read sasjsPath
fi
if [ -e $sasjsPath ]
then
echo "Using sas executable:" \"$sasjsPath\"
else
echo "No file present at:" \"$sasjsPath\"
exit 1
fi
# copy sas executable to current directory, because docker cannot copy files outside of context.
rm -rf sas_exe
mkdir sas_exe
cp $sasjsPath ./sas_exe/sas

View File

@@ -1,29 +1,6 @@
sasjsPath=$(grep sasPath ./api/package.json | sed 's/.*"sasPath": "\(.*\)".*/\1/')
if [ -z "$sasjsPath" ]
then
echo "Please enter path to SAS executable:"
read sasjsPath
# Copy SAS executable from source to current folder to make it available to docker
./dockerSASexe.sh
fi
if [ -e $sasjsPath ]
then
echo "Using sas executable:" \"$sasjsPath\"
else
echo "No file present at:" \"$sasjsPath\"
exit 1
fi
# copy sas executable to current directory, because docker cannot copy files outside of context.
cp $sasjsPath ./
# name of the sas executable file, placed at root of repository
sasjs=$(basename $sasjsPath)
echo "SAS Executable name:" $sasjs
# build and run docker-compose
SAS_EXEC=$sasjs docker-compose up --build -d
# remove copied sas executable
rm $sasjs
# Run docker-compose with default docker compose file i.e. docker-compose.yml
# SAS_EXEC=sas_exe/sas docker-compose up -d

View File

@@ -1,29 +1,6 @@
sasjsPath=$(grep sasPath ./api/package.json | sed 's/.*"sasPath": "\(.*\)".*/\1/')
if [ -z "$sasjsPath" ]
then
echo "Please enter path to SAS executable:"
read sasjsPath
# Copy SAS executable from source to current folder to make it available to docker
./dockerSASexe.sh
fi
if [ -e $sasjsPath ]
then
echo "Using sas executable:" \"$sasjsPath\"
else
echo "No file present at:" \"$sasjsPath\"
exit 1
fi
# copy sas executable to current directory, because docker cannot copy files outside of context.
cp $sasjsPath ./
# name of the sas executable file, placed at root of repository
sasjs=$(basename $sasjsPath)
echo "SAS Executable name:" $sasjs
# build and run docker-compose
SAS_EXEC=$sasjs docker-compose -f docker-compose.prod.yml up --build -d
# remove copied sas executable
rm $sasjs
# Build & Run docker-compose with docker compose file i.e. docker-compose.prod.yml
# SAS_EXEC=sas_exe/sas docker-compose -f docker-compose.prod.yml up --build -d