diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..297b63c --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,69 @@ +pipeline { + agent { label 'built-in' } + + options { + buildDiscarder(logRotator(numToKeepStr: '10')) + } + + environment { + DEPLOY_PATH = "/var/www/bangararaju.kottedi.in/admin" + } + + stages { + + stage('Checkout') { + steps { + checkout scm + } + } + + stage('Inject Environment File') { + steps { + configFileProvider( + [configFile(fileId: 'admin-uat-properties', + targetLocation: 'src/environments/environment.ts', + replaceTokens: true)] + ) { + echo "Environment file injected" + } + } + } + + stage('Build Angular') { + steps { + sh ''' + npm install + ng build --configuration production --base-href /admin/ + ''' + } + } + + stage('Deploy') { + steps { + sh ''' + rm -rf $DEPLOY_PATH/* + cp -r dist/portfolio-admin/browser/* $DEPLOY_PATH/ + sudo /usr/bin/systemctl reload nginx + ''' + } + } + + stage('Health Check') { + steps { + sh ''' + sleep 2 + curl -f https://bangararaju-uat.kottedi.in/admin + ''' + } + } + } + + post { + failure { + echo "Deployment failed!" + } + success { + echo "Deployment successful!" + } + } +}