53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
| properties([
 | |
|   parameters([
 | |
|     gitParameter(
 | |
|         branch: '',
 | |
|         branchFilter: 'origin/(.*)',
 | |
|         defaultValue: 'origin/main',
 | |
|         description: '',
 | |
|         name: 'GIT_BRANCH',
 | |
|         quickFilterEnabled: true,
 | |
|         selectedValue: 'DEFAULT',
 | |
|         sortMode: 'NONE',
 | |
|         tagFilter: '*',
 | |
|         useRepository: 'git@github.com:DarkflameUniverse/NexusDashboard.git',
 | |
|         type: 'PT_BRANCH',
 | |
|         listSize: "1"
 | |
|     )
 | |
|   ])
 | |
| ])
 | |
| 
 | |
| node('worker'){
 | |
|     currentBuild.setDescription(params.GIT_BRANCH)
 | |
| 
 | |
|     stage('Clone Code'){
 | |
|         checkout([
 | |
|             $class: 'GitSCM',
 | |
|             branches: [[name: params.GIT_BRANCH]],
 | |
|             extensions: [],
 | |
|             userRemoteConfigs: [
 | |
|                 [
 | |
|                     credentialsId: 'aronwk',
 | |
|                     url: 'git@github.com:DarkflameUniverse/NexusDashboard.git'
 | |
|                 ]
 | |
|             ]
 | |
|         ])
 | |
|     }
 | |
|     def tag = ''
 | |
|     stage('Build Container'){
 | |
|         if (params.GIT_BRANCH.contains('main')){
 | |
|             tag = 'latest'
 | |
|         } else {
 | |
|             tag = params.GIT_BRANCH.replace('\\', '-')
 | |
|         }
 | |
|         sh "docker build -t aronwk/nexus-dashboard:$tag ."
 | |
|     }
 | |
|     stage('Push Container'){
 | |
|         withCredentials([usernamePassword(credentialsId: 'docker-hub-token', passwordVariable: 'password', usernameVariable: 'username')]) {
 | |
|             sh "docker login -u $username -p $password"
 | |
|             sh "docker push aronwk/nexus-dashboard:$tag"
 | |
|             sh "docker logout"
 | |
|         }
 | |
|     }
 | |
| }
 | 
