30 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
pipeline {
 | 
						|
    agent any
 | 
						|
 | 
						|
    stages {
 | 
						|
        stage('Deploy') {
 | 
						|
            when {
 | 
						|
                branch pattern: '^(master|main)$|stable|release', comparator: 'REGEXP'
 | 
						|
            }
 | 
						|
 | 
						|
            steps {
 | 
						|
                httpRequest outputFile: 'get_service_config.yaml', url: 'https://gist.githubusercontent.com/computer-geek64/3ed7241e7a74ad6ddd00409900b590e4/raw/39d371d4040b319663bfd339ea1aa56bd37cdf77/get_service_config.yaml'
 | 
						|
                ansiblePlaybook credentialsId: 'rivendell-ssh-key', disableHostKeyChecking: true, extras: "--extra-vars 'service=\"frigate\"'", playbook: 'get_service_config.yaml'
 | 
						|
                script {
 | 
						|
                    frigate_config = readJSON file: 'frigate_config.json'
 | 
						|
                }
 | 
						|
 | 
						|
                ansiblePlaybook credentialsId: 'rivendell-ssh-key', disableHostKeyChecking: true, extras: "--extra-vars 'mqtt_password=\"${frigate_config.mqtt.password}\" ipgeolocation_api_key=\"${frigate_config.ipgeolocation.api_key}\" garage_rtsp_password=\"${frigate_config.rtsp.garage.password}\" front_door_rtsp_password=\"${frigate_config.rtsp.front_door.password}\" driveway_rtsp_password=\"${frigate_config.rtsp.driveway.password}\" back_door_rtsp_password=\"${frigate_config.rtsp.back_door.password}\" family_room_rtsp_password=\"${frigate_config.rtsp.family_room.password}\"'", playbook: 'install.yaml'
 | 
						|
                ansiblePlaybook credentialsId: 'rivendell-ssh-key', disableHostKeyChecking: true, playbook: 'stop.yaml'
 | 
						|
                ansiblePlaybook credentialsId: 'rivendell-ssh-key', disableHostKeyChecking: true, playbook: 'start.yaml'
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    post {
 | 
						|
        cleanup {
 | 
						|
            cleanWs()
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |