React project for testing jenkins.
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.
 
 
 

46 lines
1.5 KiB

def FIREBASE_TOKEN = "1//01qpBX7fJp_MkCgYIARAAGAESNwF-L9IrxNCVYfwDg6jE_bhT0-ja1yQGO1Wxn2mFd8cH1O15uC8Nv2b1NXpEp8-oQXdabUXLJqM"
pipeline {
agent any
stages {
stage("Checkout and build react app") {
when { expression { true } }
steps {
git(url: 'http://git.abilityell.com/william/react-project.git', branch: 'main')
withEnv(['CI=false']) { //ignore warning
bat 'npm install'
bat 'npm i -g firebase-tools -f' // force install
bat 'npm run build'
}
bat '''
npx firebase login --token ${FIREBASE_TOKEN}
npx firebase init
echo %cd%
dir
'''
}
}
stage("Deploy React App") {
when { expression { true } }
steps {
withCredentials([sshUserPrivateKey(credentialsId: 'docker-ssh', keyFileVariable: 'SSH_KEY')]) {
bat '''
scp -i $SSH_KEY -o StrictHostKeyChecking=no -r build/* $DOCKER_HOST:/var/www/html/
ssh -i $SSH_KEY -o StrictHostKeyChecking=no $DOCKER_HOST 'chmod -R 755 /var/www/html/*'
'''
}
}
}
}
post {
success {
echo "Pipeline succeeded! ✅"
}
failure {
echo "Pipeline failed! ❌"
}
}
}