sudo apt update | |||||
# Install prerequisites for dev environment | |||||
# PB : TODO -- Prompt if not passed in. | |||||
REPOSERVER=http://git.bbh | |||||
DEFAULTREPOOWNER=chess | |||||
REPOOWNER=$DEFAULTREPOOWNER | |||||
INSTANCENAME=elixir | |||||
INSTANCETYPE=dev | |||||
GITUSER=pb | |||||
GITEMAIL=pradeep@bbh.org.in | |||||
sudo apt install python2 | |||||
sudo apt install build-essential | |||||
sudo apt install -y make | |||||
sudo apt install nodejs | |||||
sudo apt install npm | |||||
sudo apt install git | |||||
-- | |||||
git clone http://git.bbh.org.in/chess/elxr.git | |||||
cd elxr | |||||
elxr use elixir | |||||
cd .. | |||||
elxr i | |||||
# Install mysql | |||||
sudo apt install mysql-server -y | |||||
systemctl is-active mysql | |||||
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mysql#minA1';" | |||||
sudo mysql_secure_installation | |||||
sudo mysql -e "FLUSH PRIVILEGES;" -u root -pmysql#minA1 | |||||
systemctl status mysql.service | |||||
#OPTIONS | |||||
SKIPPREREQS=true | |||||
SKIPDEVPREREQS=true | |||||
# Init DB schema and Load Data | |||||
mysql -u root -pmysql#minA1 < cihsr-data/cihsr-dev-schema.sql | |||||
if [ "$SKIPPREREQS" = "true" ]; then | |||||
echo "skipping prereqs for firstrun" | |||||
else | |||||
sudo groupadd chessprod | |||||
echo "$USER" | |||||
sudo usermod -a -G chessprod $USER | |||||
sudo apt update | |||||
# Install prerequisites for dev environment | |||||
sudo apt install git | |||||
git config --global user.name "$GITUSER" | |||||
git config --global credential.helper store | |||||
#git config --global credential.helper 'store --file ~/.git-credentials' | |||||
#echo "Enter git username: " | |||||
#read gitUser | |||||
#git config --global user.name '${gitUser}' | |||||
#echo "username=$gitUser" >> ~/.git-credentials | |||||
#echo "Enter git password: " | |||||
#read gitPassword | |||||
#git config --global user.password '${gitPassword}' | |||||
#echo "password=$gitPassword" >> ~/.git-credentials | |||||
#chmod 0600 ~/.git-credentials | |||||
sudo apt install python2 | |||||
sudo apt install build-essential | |||||
sudo apt install -y make | |||||
#INSTALLING NODE JS | |||||
cd ~ | |||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | |||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash | |||||
sleep 2 | |||||
touch ~/.bashrc | |||||
source ~/.bashrc | |||||
export NVM_DIR="$HOME/.nvm" | |||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion | |||||
sleep 2 | |||||
nvm list-remote | |||||
sleep 2 | |||||
nvm install v16.19.1 | |||||
sleep 2 | |||||
node --version | |||||
npm --version | |||||
# OLD version... | |||||
#sudo apt install nodejs | |||||
#sudo apt install npm | |||||
# For production we create a npm global per user. | |||||
# npm prefix is not compatible with nvm!!! | |||||
# mkdir -p ~/.user_global_node_modules/ | |||||
# npm config set prefix '~/.user_global_node_modules' | |||||
# sudo mkdir /usr/local/lib/node_modules/ | |||||
# sudo chown -R root:chessprod /usr/local/lib/node_modules/ | |||||
# sudo chmod g+w /usr/local/lib/node_modules/ | |||||
# grep -qxF 'export PATH=~/.user_global_node_modules/bin:$PATH' ~/.profile || echo 'export PATH=~/.user_global_node_modules/bin:$PATH' >> ~/.profile | |||||
if [ "$SKIPPREREQS" = "true" ]; then | |||||
echo "skipping dev prereqs for firstrun" | |||||
else | |||||
#install code | |||||
sudo apt-get install wget gpg | |||||
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | |||||
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg | |||||
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' | |||||
rm -f packages.microsoft.gpg | |||||
sudo apt install apt-transport-https | |||||
sudo apt update | |||||
sudo apt install code | |||||
install code | |||||
sudo apt-get install wget gpg | |||||
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | |||||
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg | |||||
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' | |||||
rm -f packages.microsoft.gpg | |||||
sudo apt install apt-transport-https | |||||
sudo apt update | |||||
sudo apt install code | |||||
fi | |||||
sudo mkdir -p /var/chess | |||||
sudo chown $USER:$USER /var/chess | |||||
ROOT=/var/chess/$INSTANCENAME/$INSTANCETYPE | |||||
echo $ROOT | |||||
sudo mkdir -p $ROOT | |||||
cd $ROOT | |||||
git clone $REPOSERVER/$REPOOWNER/elxr.git | |||||
cd elxr | |||||
npm i | |||||
npm link | |||||
cd .. | |||||
# Install mysql | |||||
#sudo apt install mysql-server -y | |||||
systemctl is-active mysql | |||||
#sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mysql#minA1';" | |||||
#sudo mysql_secure_installation | |||||
#sudo mysql -e "FLUSH PRIVILEGES;" -u root -pmysql#minA1 | |||||
#systemctl status mysql.service | |||||
# Init DB schema and Load Data | |||||
#mysql -u root -pmysql#minA1 < cihsr-data/cihsr-dev-schema.sql | |||||
fi | |||||
echo module.exports = { instanceName : "'$INSTANCENAME'", reposerver: "'$REPOSERVER'", gitUser: "'$GITUSER'", gitEmail:"'$GITEMAIL'" } > installchoices.js | |||||
elxr use elixir | |||||
elxr i | |||||
// PB : TODO -- pick up remote definitions per repository... | // PB : TODO -- pick up remote definitions per repository... | ||||
var reposmanfiest = utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | var reposmanfiest = utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | ||||
, {}, selectedinstance, loadmanifest( selectedinstance.root + '/' + repo | , {}, selectedinstance, loadmanifest( selectedinstance.root + '/' + repo | ||||
, { utils, username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, { username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, node_env : selectedinstance.node_env, reposerver : selectedinstance.reposerver } | , node_env : selectedinstance.node_env, reposerver : selectedinstance.reposerver } | ||||
)) | )) | ||||
try { | try { | ||||
// PB : TODO -- pick up remote definitions per repository... | // PB : TODO -- pick up remote definitions per repository... | ||||
return utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | return utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | ||||
, {}, require(path.normalize( mpath + '/repo-manifest'))( null, moverrides )) | |||||
, {}, require(path.normalize( mpath + '/repo-manifest'))( {utils}, null, moverrides )) | |||||
} | } | ||||
catch(e){ | catch(e){ | ||||
// Also attepmt to load preconfig specially for new chessinstances from ../chess-config/... | // Also attepmt to load preconfig specially for new chessinstances from ../chess-config/... | ||||
var __repo_manifest_elxr = loadmanifest( instance.root + '/elxr' | var __repo_manifest_elxr = loadmanifest( instance.root + '/elxr' | ||||
, { utils, username : instance.username /** ??? TODO */ , instanceName : instance.instanceName /** ??? TODO */ | |||||
, { username : instance.username /** ??? TODO */ , instanceName : instance.instanceName /** ??? TODO */ | |||||
, node_env : clioverrides.node_env, reposerver : instance.reposerver /** ??? TODO */ } // options | , node_env : clioverrides.node_env, reposerver : instance.reposerver /** ??? TODO */ } // options | ||||
) | ) | ||||
if(instance_specific_config_manifest.error) console.log(instance_specific_config_manifest.e.message) | if(instance_specific_config_manifest.error) console.log(instance_specific_config_manifest.e.message) | ||||
delete __repo_manifest_elxr.error | delete __repo_manifest_elxr.error | ||||
delete __repo_manifest_elxr.e | delete __repo_manifest_elxr.e | ||||
delete __repo_manifest_elxr.utils | |||||
// delete __repo_manifest_elxr.utils | |||||
delete instance_specific_config_manifest.error | delete instance_specific_config_manifest.error | ||||
delete instance_specific_config_manifest.e | delete instance_specific_config_manifest.e | ||||
delete instance_specific_config_manifest.utils | |||||
// delete instance_specific_config_manifest.utils | |||||
// selectedinstance is not complete until we load in the following order of priority... | // selectedinstance is not complete until we load in the following order of priority... | ||||
// 1) inline defaults | // 1) inline defaults | ||||
// PB : TODO -- pick up remote definitions per repository... | // PB : TODO -- pick up remote definitions per repository... | ||||
var reposmanfiest = utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | var reposmanfiest = utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | ||||
, {}, selectedinstance, loadmanifest( selectedinstance.root + '/' + repo | , {}, selectedinstance, loadmanifest( selectedinstance.root + '/' + repo | ||||
, { utils, username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, { username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, node_env : selectedinstance.node_env, reposerver : selectedinstance.reposerver } | , node_env : selectedinstance.node_env, reposerver : selectedinstance.reposerver } | ||||
)) | )) | ||||
statuslog.statuslog(e, e) | statuslog.statuslog(e, e) | ||||
var manifestpath = path.normalize(selected.root + '/' + selected.instanceName + '-config-' + selected.node_env + '/repo-manifest'); | var manifestpath = path.normalize(selected.root + '/' + selected.instanceName + '-config-' + selected.node_env + '/repo-manifest'); | ||||
utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | ||||
, selectedinstance, require(manifestpath)( null, { utils, username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, selectedinstance, require(manifestpath)( {utils}, null, { username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, node_env : selectedinstance.node_env, reposerver : 'https://git.bbh.org.in' } )) | , node_env : selectedinstance.node_env, reposerver : 'https://git.bbh.org.in' } )) | ||||
console.dir(selectedinstance.repos) | console.dir(selectedinstance.repos) | ||||
// Config from server always override merges into selection except for the current selection. | // Config from server always override merges into selection except for the current selection. | ||||
var manifestpath = path.normalize(selected.root + '/' + selected.instanceName + '-config-' + selected.node_env + '/repo-manifest'); | var manifestpath = path.normalize(selected.root + '/' + selected.instanceName + '-config-' + selected.node_env + '/repo-manifest'); | ||||
utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | utils.assign_core( { keycase : true, arraymergetype : utils.assign_core.DISTINCT_UNION } | ||||
, selectedinstance, require(manifestpath)( null, { utils, username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, selectedinstance, require(manifestpath)( {utils}, null, { username : selectedinstance.username, instanceName : selectedinstance.instanceName | |||||
, node_env : selectedinstance.node_env, reposerver : selectedinstance.reposerver })) | , node_env : selectedinstance.node_env, reposerver : selectedinstance.reposerver })) | ||||
console.dir(selectedinstance.repos) | console.dir(selectedinstance.repos) | ||||
// Config from server always override merges into selection except for the current selection. | // Config from server always override merges into selection except for the current selection. |
, runElevatedBatch( batchToRun ){ | , runElevatedBatch( batchToRun ){ | ||||
// In windows we don't need to run each task. We hand over to another shell which in elevated state rebuilds the whole batch and runs. | // In windows we don't need to run each task. We hand over to another shell which in elevated state rebuilds the whole batch and runs. | ||||
// Irrespective of the batch we just call runElevated once. | // Irrespective of the batch we just call runElevated once. | ||||
batchToRun.forEach(element => { | |||||
element.processedArgs = batchToRun[0].processedArgs | |||||
}); | |||||
return any(batchToRun.map(shell_verse.runElevated)) | return any(batchToRun.map(shell_verse.runElevated)) | ||||
} | } | ||||
# wget https://git.bbh.org.in/chess/elxr/raw/branch/master/linux_setup.sh | |||||
#STORE GIT CREDENTIALS IN CACHE | |||||
sudo yum install git | |||||
# git config --global --unset credential.helper | |||||
git config --global credential.helper store | |||||
# git config --global credential.helper 'store --file ~/.git-credentials' | |||||
# echo "Enter git username: " | |||||
# read gitUser | |||||
# echo "username=$gitUser" >> ~/.git-credentials | |||||
# echo "Enter git password: " | |||||
# read gitPassword | |||||
# echo "password=$gitPassword" >> ~/.git-credentials | |||||
# chmod 0600 ~/.git-credentials | |||||
# Install prerequisites | |||||
#NODE JS 16.17.1 | |||||
wget https://nodejs.org/dist/v16.17.1/node-v16.17.1-linux-x64.tar.xz | |||||
tar -xf node-v16.17.1-linux-x64.tar.xz | |||||
# Move the extracted folder to /usr/local/lib | |||||
sudo mv node-v16.17.1-linux-x64 /usr/local/lib/ | |||||
# Create a symbolic link to the node executable | |||||
sudo ln -s /usr/local/lib/node-v16.17.1-linux-x64/bin/node /usr/local/bin/node | |||||
node -v | |||||
#NPM | |||||
sudo yum install npm | |||||
#INSTALLING NODE JS | |||||
npm install -g pm2 | |||||
npm install -g ember-cli | |||||
npm install -g loopback-cli | |||||
#development A SETUP | |||||
cd ~ | |||||
cd Desktop | |||||
mkdir chess | |||||
cd chess | |||||
mkdir development_A | |||||
cd development_A | |||||
git clone http://git.bbh.org.in/chess/cihsr-config-development | |||||
cd cihsr-config-development | |||||
git checkout master | |||||
npm i --force | |||||
#TO CREATE SYMLINK | |||||
cd .. | |||||
ln -s cihsr-config-development/ config | |||||
git clone http://git.bbh.org.in/chess/cihsr-data | |||||
cd cihsr-data | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
ln -s cihsr-data/ data | |||||
git clone http://git.bbh.org.in/chess/ember-masonry-grid | |||||
cd ember-masonry-grid | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/bbhverse | |||||
cd bbhverse | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/clientverse | |||||
cd clientverse | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/serververse | |||||
cd serververse | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/elxr | |||||
cd elxr | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-searchable-select | |||||
cd ember-searchable-select | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-component-jsonapi | |||||
cd loopback-component-jsonapi | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-jsonapi-model-serializer | |||||
cd loopback-jsonapi-model-serializer | |||||
git checkout master | |||||
npm i --force | |||||
npm run build | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-connector-mysql | |||||
cd loopback-connector-mysql | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-connector-ds | |||||
cd loopback-connector-ds | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/setup | |||||
cd setup | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-service-worker | |||||
cd ember-service-worker | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-service-worker-asset-cache | |||||
cd ember-service-worker-asset-cache | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-service-worker-cache-fallback | |||||
cd ember-service-worker-cache-fallback | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-service-worker-index | |||||
cd ember-service-worker-index | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-sw-client-route | |||||
cd ember-sw-client-route | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/global-this | |||||
cd global-this | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/ember-cp-validations | |||||
cd ember-cp-validations | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-connector | |||||
cd loopback-connector | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback | |||||
cd loopback | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-datasource-juggler | |||||
cd loopback-datasource-juggler | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-connector-mssql | |||||
cd loopback-connector-mssql | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-filters | |||||
cd loopback-filters | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/loopback-connector-sqlite3 | |||||
cd loopback-connector-sqlite3 | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/chess-server-lib | |||||
cd chess-server-lib | |||||
git checkout master | |||||
npm i --force | |||||
cd server | |||||
npm i --force | |||||
cd .. | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/cihsr-server | |||||
cd cihsr-server | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/bbh_patient_portal | |||||
cd bbh_patient_portal | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/project-genesis-frontend | |||||
cd project-genesis-frontend | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/project-genesis-backend | |||||
cd project-genesis-backend | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/processmanager | |||||
cd processmanager | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/client | |||||
cd client | |||||
git checkout master | |||||
npm i --force | |||||
bower install | |||||
node_modules/.bin/bower install | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/chess-client-lib | |||||
cd chess-client-lib | |||||
git checkout master | |||||
npm i --force | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/elixir-client | |||||
cd elixir-client | |||||
git checkout master | |||||
npm i --force | |||||
cd chess-client-lib | |||||
npm i --force | |||||
cd .. |
module.exports = ((name, options)=>{ | |||||
module.exports = ((meta, options)=>{ | |||||
var name = meta.name | |||||
const utils = meta.utils | |||||
options = options || { username : `guest`, reposerver : `https://git.bbh.org.in`, password : `noneforguest` } | options = options || { username : `guest`, reposerver : `https://git.bbh.org.in`, password : `noneforguest` } | ||||
utils = options.utils | |||||
// Default set of users in main repos. | // Default set of users in main repos. | ||||
var users = [ | var users = [ |
#STORE GIT CREDENTIALS IN CACHE | |||||
sudo apt install git | |||||
git config --global credential.helper store | |||||
git config --global credential.helper 'store --file ~/.git-credentials' | |||||
echo "Enter git username: " | |||||
read gitUser | |||||
echo "username=$gitUser" >> ~/.git-credentials | |||||
echo "Enter git password: " | |||||
read gitPassword | |||||
echo "password=$gitPassword" >> ~/.git-credentials | |||||
chmod 0600 ~/.git-credentials | |||||
sudo apt update | |||||
# Install prerequisites for dev environment | |||||
sudo apt install python2 | |||||
# sudo apt install build-essential | |||||
# sudo apt install -y make | |||||
sudo apt install nodejs | |||||
sudo apt install npm | |||||
#INSTALLING NODE JS | |||||
npm install -g pm2 | |||||
npm install -g ember-cli | |||||
#PRODUCTION A SETUP | |||||
cd ~ | |||||
cd Desktop | |||||
mkdir chess | |||||
cd chess | |||||
mkdir production_A | |||||
cd production_A | |||||
git clone https://git.bbh.org.in/chess/ember-masonry-grid | |||||
cd ember-masonry-grid | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/bbhverse | |||||
cd bbhverse | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/clientverse | |||||
cd clientverse | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/serververse | |||||
cd serververse | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/client | |||||
cd client | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/elxr | |||||
cd elxr | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-searchable-select | |||||
cd ember-searchable-select | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-component-jsonapi | |||||
cd loopback-component-jsonapi | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-jsonapi-model-serializer | |||||
cd loopback-jsonapi-model-serializer | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-connector-mysql | |||||
cd loopback-connector-mysql | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/cihsr-config-development | |||||
cd cihsr-config-development | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/cihsr-config-production | |||||
cd cihsr-config-production | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/cihsr-data | |||||
cd cihsr-data | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-connector-ds | |||||
cd loopback-connector-ds | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/chess-server-lib | |||||
cd chess-server-lib | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/setup | |||||
cd setup | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/elixir-client-todos | |||||
cd elixir-client-todos | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-service-worker | |||||
cd ember-service-worker | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-service-worker-asset-cache | |||||
cd ember-service-worker-asset-cache | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-service-worker-cache-fallback | |||||
cd ember-service-worker-cache-fallback | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-service-worker-index | |||||
cd ember-service-worker-index | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-sw-client-route | |||||
cd ember-sw-client-route | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/global-this | |||||
cd global-this | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/ember-cp-validations | |||||
cd ember-cp-validations | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/chess-client-lib | |||||
cd chess-client-lib | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-connector | |||||
cd loopback-connector | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback | |||||
cd loopback | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-datasource-juggler | |||||
cd loopback-datasource-juggler | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-connector-mssql | |||||
cd loopback-connector-mssql | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-filters | |||||
cd loopback-filters | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/loopback-connector-sqlite3 | |||||
cd loopback-connector-sqlite3 | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/Trias-Elixir_Hybrid | |||||
cd Trias-Elixir_Hybrid | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/bbh_patient_portal | |||||
cd bbh_patient_portal | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/project-genesis-frontend | |||||
cd project-genesis-frontend | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone https://git.bbh.org.in/chess/project-genesis-backend | |||||
cd project-genesis-backend | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/processmanager | |||||
cd processmanager | |||||
git checkout production | |||||
npm i | |||||
#TO CREATE SYMLINK | |||||
cd .. | |||||
ln -s cihsr-config-production/ config | |||||
#!/bin/bash | |||||
# Set the database credentials | |||||
DB_USER="root" | |||||
DB_PASS="root@123" | |||||
DB_NAME="triq_demo" | |||||
# Set the backup directory | |||||
BACKUP_DIR="/mysql_backup" | |||||
# Set the backup filename format | |||||
DATE=$(date +"%Y-%m-%d_%H-%M-%S") | |||||
FILENAME="${DB_NAME}_${DATE}" | |||||
# Create the backup | |||||
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$FILENAME |
# Set the database credentials | |||||
sudo apt-get update | |||||
sudo apt-get -y install cifs-utils | |||||
cd / | |||||
mkdir mysql_backup | |||||
sleep 2 | |||||
sudo chmod 777 mysql_backup | |||||
sleep 2 | |||||
sudo mount //10.10.5.26/trias /mysql_backup/ -o username='baptist',password='2021Bbh',domain='bbh' | |||||
sleep 2 | |||||
cd /mysql_backup/ | |||||
ls | |||||
DB_USER="root" | |||||
DB_PASS="root@123" | |||||
DB_NAME="triq_demo" | |||||
# Set the backup directory | |||||
echo "Enter the name of backup file: " | |||||
read fileName | |||||
BACKUP_FILE="/mysql_backup/$fileName" | |||||
mysql -u $DB_USER -p$DB_PASS -e "CREATE database triq_demo;" | |||||
# Restore backup file | |||||
mysql -u $DB_USER -p$DB_PASS $DB_NAME < $BACKUP_FILE |
#SCRIPT TO PULL LATEST UPDATES AUTOMATICALLY | |||||
git config --global credential.helper store | |||||
cd ../project-genesis-backend | |||||
git pull | |||||
cd ../project-genesis-frontend | |||||
git pull | |||||
cd ../bbh_patient_portal | |||||
git pull | |||||
cd ../trias-config-production | |||||
git pull | |||||
cd ../processmanager | |||||
git pull | |||||
pm2 reload all |
#INSTALLING NODE JS | |||||
cd ~ | |||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | |||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash | |||||
sleep 2 | |||||
source ~/.bashrc | |||||
export NVM_DIR="$HOME/.nvm" | |||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion | |||||
sleep 2 | |||||
nvm list-remote | |||||
sleep 2 | |||||
nvm install v16.19.1 | |||||
sleep 2 | |||||
node --version | |||||
npm --version | |||||
npm install -g @angular/cli | |||||
npm install -g pm2 | |||||
# echo "Enter the version of node you want to install: (Example. 'v16.19.1')" | |||||
# read nodeversion | |||||
# nvm install $nodeversion | |||||
#STORE GIT CREDENTIALS IN CACHE | |||||
git config --global credential.helper store | |||||
# git config --global credential.helper 'store --file ~/.git-credentials' | |||||
# echo "Enter git username: " | |||||
# read gitUser | |||||
# git config --global user.name '${gitUser}' | |||||
# echo "username=$gitUser" >> ~/.git-credentials | |||||
# echo "Enter git password: " | |||||
# read gitPassword | |||||
# git config --global user.password '${gitPassword}' | |||||
# echo "password=$gitPassword" >> ~/.git-credentials | |||||
# chmod 0600 ~/.git-credentials | |||||
#PRODUCTION A SETUP | |||||
cd ~ | |||||
cd Desktop | |||||
mkdir chess | |||||
cd chess | |||||
mkdir production_A | |||||
cd production_A | |||||
git clone http://git.bbh.org.in/chess/project-genesis-backend | |||||
cd project-genesis-backend | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/project-genesis-frontend | |||||
cd project-genesis-frontend | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/bbh_patient_portal | |||||
cd bbh_patient_portal | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/Trias_Org/trias-config-production | |||||
cd trias-config-production | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/processmanager | |||||
cd processmanager | |||||
git checkout production | |||||
npm i | |||||
#TO CREATE SYMLINK | |||||
cd .. | |||||
ln -s trias-config-production/ config | |||||
#PRODUCTION B SETUP | |||||
cd ~ | |||||
cd Desktop | |||||
cd chess | |||||
mkdir production_B | |||||
cd production_B | |||||
git clone http://git.bbh.org.in/chess/project-genesis-backend | |||||
cd project-genesis-backend | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/project-genesis-frontend | |||||
cd project-genesis-frontend | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/bbh_patient_portal | |||||
cd bbh_patient_portal | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/Trias_Org/trias-config-production | |||||
cd trias-config-production | |||||
git checkout production | |||||
npm i | |||||
cd .. | |||||
git clone http://git.bbh.org.in/chess/processmanager | |||||
cd processmanager | |||||
git checkout production | |||||
npm i | |||||
#TO CREATE SYMLINK | |||||
cd .. | |||||
ln -s trias-config-production/ config |
#MYSQL SERVER INSTALLATION | |||||
sudo apt update | |||||
sudo apt install mysql-server | |||||
sudo systemctl start mysql.service | |||||
sleep 2 | |||||
cd / | |||||
sudo mkdir mysql_backup | |||||
#STEPS FOR MYSQL_SECURE_INSTALLATION | |||||
#STEP-1 sudo mysql | |||||
#STEP-2 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SET_PASSWORD'; | |||||
#STEP-3 exit; | |||||
#STEP-4 sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf | |||||
#STEP-5 sudo systemctl restart mysql | |||||
#STEP-6 mysql -u root -p | |||||
#STEP-7 ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket; AND FOLLOW THE STEPS | |||||
#STEP-8 exit; | |||||
#STEP-9 sudo mysql_secure_installation; | |||||
#STEP-10 sudo mysql; | |||||
#STEP-11 mysql -u root -p | |||||
#STEP-12 "ENTER MYSQL PASSWORD THAT WAS SET IN STEP 2" | |||||
#STEP-13 CREATE USER '_username_'@'_desiredIP_' IDENTIFIED WITH mysql_native_password BY 'password'; | |||||
#STEP-14 GRANT ALL PRIVILEGES ON *.* TO '_username_'@'_desiredIP_' WITH GRANT OPTION; | |||||
#STEP-15 FLUSH PRIVILEGES; | |||||
echo "Please enter password for mysql: " | |||||
read password | |||||
sudo mysql -u root -p${password} -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${password}';" | |||||
sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf | |||||
sudo systemctl restart mysql | |||||
echo "Please enter the IP address of app server: " | |||||
read IP | |||||
sudo mysql -u root -p${password} -e "CREATE USER 'root'@'${IP}' IDENTIFIED WITH mysql_native_password BY '${password}';"; | |||||
sudo mysql -u root -p${password} -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'${IP}' WITH GRANT OPTION;" | |||||
sudo mysql -u root -p${password} -e "FLUSH PRIVILEGES;" | |||||