You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
5.4 KiB
150 lines
5.4 KiB
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: before
|
|
namespace: moh-uat
|
|
annotations:
|
|
argocd.argoproj.io/hook: PreSync
|
|
argocd.argoproj.io/hook-delete-policy: HookSucceeded
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
#argocd.argoproj.io/sync-options: Prune=false
|
|
spec:
|
|
backoffLimit: 3
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: presync-pod
|
|
image: registry.cloudsolutions.com.sa/vida-qa/csi-automation-initiator:3.0.0.72
|
|
imagePullPolicy: IfNotPresent
|
|
command: ["/bin/sh", "-c"]
|
|
args:
|
|
- |
|
|
# Step 1: Navigate to the app directory
|
|
git config --global http.sslVerify false &&
|
|
cd /usr/app/automation &&
|
|
|
|
# Step 2: Check if it's a valid Git repository, initialize if not
|
|
if [ ! -d .git ]; then
|
|
echo "Initializing Git repository in /usr/app/automation" &&
|
|
git clone -c https://$(GITEA_UN):$(GITEA_PW)@git.cloudsolutions.com.sa/Automation/Automation.git ./
|
|
fi &&
|
|
|
|
# Step 3: Pull the latest changes from the 'main' branch directly into the current directory
|
|
git pull origin main &&
|
|
echo "Pulled latest changes from 'main' branch." &&
|
|
|
|
ls -la &&
|
|
cd ../ &&
|
|
ls -la &&
|
|
pwd &&
|
|
|
|
# Step 5: Perform your database sync operation (replace with your actual command)
|
|
node /usr/app/index.js
|
|
|
|
##--new change end
|
|
|
|
|
|
# # Step 1: Create directory, configure Git, and clone repository
|
|
|
|
# cd /usr/app/automation/ &&
|
|
# rm -rf * &&
|
|
# rm -rf .git &&
|
|
# mkdir -p /usr/app/automation &&
|
|
|
|
# # Step 2: Check if the folder 'Automation' exists in /usr/app/automation and handle concurrent cloning
|
|
# git config --global http.sslVerify false &&
|
|
# #cd /usr/app/automation/ &&
|
|
# ls -al /usr/app/automation/ &&
|
|
|
|
# #-- Clone condition start
|
|
# # Step 1: Check if the directory is empty
|
|
# if [ -z "$(ls -A /usr/app/automation/)" ]; then
|
|
# # Directory is empty, clone the repository
|
|
# echo "Directory is empty. Cloning repository..." &&
|
|
# git config --global http.sslVerify false &&
|
|
# #git clone --depth 1 --branch main https://$(GITEA_UN):$(GITEA_PW)@git.cloudsolutions.com.sa/Automation/Automation.git &&
|
|
# git config --global init.defaultBranch main
|
|
# git init
|
|
# git pull https://$(GITEA_UN):$(GITEA_PW)@git.cloudsolutions.com.sa/Automation/Automation.git /usr/app/automation/ &&
|
|
# echo "Repository cloned successfully from branch main."
|
|
# else
|
|
# # Directory is not empty, pull the latest changes
|
|
# echo "Directory is not empty. Pulling the latest changes..." &&
|
|
# if [ -d /usr/app/automation/.git ]; then
|
|
# #cd /usr/app/automation/Automation/ &&
|
|
# git config --global http.sslVerify false &&
|
|
# git pull https://$(GITEA_UN):$(GITEA_PW)@git.cloudsolutions.com.sa/Automation/Automation.git /usr/app/automation/ &&
|
|
# echo "Pulled latest changes from branch main."
|
|
# echo "Here's directory list"
|
|
# ls -al /usr/app/automation/
|
|
# echo "Here's Current folder path"
|
|
# pwd
|
|
# else
|
|
# echo "Directory contains files but is not a valid Git repository. Exiting..." &&
|
|
# exit 1
|
|
# fi
|
|
# fi &&
|
|
# #-- Clone condition end
|
|
|
|
# # Step 3: Run the Node.js application
|
|
# sleep 10 &&
|
|
# node /usr/app/index.js
|
|
|
|
# # Step 4: Sleep test
|
|
# #sleep infinity
|
|
|
|
volumeMounts:
|
|
- name: git-clone
|
|
mountPath: /usr/app/automation/
|
|
resources:
|
|
limits:
|
|
cpu: 300m
|
|
memory: 1Gi
|
|
requests:
|
|
cpu: 250m
|
|
memory: 256Mi
|
|
env:
|
|
- name: owner
|
|
value: "CSI_DEV"
|
|
- name: repo
|
|
value: "CSI_DEV"
|
|
- name: filePath
|
|
value: "kustomization.yaml"
|
|
- name: active_profile
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: activeProfile
|
|
name: service-configs
|
|
- name: SPRING_JPA_HIBERNATE_DIALECT
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: db-dialect
|
|
name: service-configs
|
|
- name: SPRING_JPA_DATABASE-PLATFORM
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: db-dialect
|
|
name: service-configs
|
|
- name: configserver
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: config_server
|
|
name: service-configs
|
|
- name: hostname
|
|
value: csi-java-ehr-config
|
|
envFrom:
|
|
- configMapRef:
|
|
name: service-configs
|
|
- secretRef:
|
|
name: service-configs-secret
|
|
- configMapRef:
|
|
name: init-database-configs
|
|
- secretRef:
|
|
name: init-database-secrets
|
|
restartPolicy: Never
|
|
volumes:
|
|
- name: git-clone
|
|
persistentVolumeClaim:
|
|
claimName: pre-sync-pvc
|
|
imagePullSecrets:
|
|
- name: regcred |