mirror of
https://github.com/DarkflameUniverse/NexusDashboard.git
synced 2024-11-21 21:17:23 +00:00
53 lines
1.4 KiB
Groovy
53 lines
1.4 KiB
Groovy
properties([
|
|
parameters([
|
|
gitParameter(
|
|
branch: '',
|
|
branchFilter: 'origin/(.*)',
|
|
defaultValue: 'origin/main',
|
|
description: '',
|
|
name: 'BRANCH',
|
|
quickFilterEnabled: false,
|
|
selectedValue: 'DEFAULT',
|
|
sortMode: 'NONE',
|
|
tagFilter: '*',
|
|
useRepository: 'git@github.com:DarkflameUniverse/NexusDashboard.git',
|
|
type: 'PT_BRANCH'
|
|
)
|
|
])
|
|
])
|
|
|
|
node('worker'){
|
|
|
|
currentBuild.setDescription(params.BRANCH)
|
|
|
|
stage('Clone Code'){
|
|
checkout([
|
|
$class: 'GitSCM',
|
|
branches: [[name: params.BRANCH]],
|
|
extensions: [],
|
|
userRemoteConfigs: [
|
|
[
|
|
credentialsId: 'aronwk',
|
|
url: 'git@github.com:DarkflameUniverse/NexusDashboard.git'
|
|
]
|
|
]
|
|
])
|
|
}
|
|
def tag = ''
|
|
stage('Build Container'){
|
|
if (params.BRANCH.contains('main')){
|
|
tag = 'latest'
|
|
} else {
|
|
tag = params.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'
|
|
}
|
|
}
|
|
}
|