forked from javahometech/my-app
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-ci-cd-youtube
More file actions
25 lines (25 loc) · 848 Bytes
/
docker-ci-cd-youtube
File metadata and controls
25 lines (25 loc) · 848 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
node{
stage('SCM Checkout'){
git credentialsId: 'git-creds', url: 'https://github.com/javahometech/my-app'
}
stage('Mvn Package'){
def mvnHome = tool name: 'maven-3', type: 'maven'
def mvnCMD = "${mvnHome}/bin/mvn"
sh "${mvnCMD} clean package"
}
stage('Build Docker Image'){
sh 'docker build -t kammana/my-app:2.0.0 .'
}
stage('Push Docker Image'){
withCredentials([string(credentialsId: 'docker-pwd', variable: 'dockerHubPwd')]) {
sh "docker login -u kammana -p ${dockerHubPwd}"
}
sh 'docker push kammana/my-app:2.0.0'
}
stage('Run Container on Dev Server'){
def dockerRun = 'docker run -p 8080:8080 -d --name my-app kammana/my-app:2.0.0'
sshagent(['dev-server']) {
sh "ssh -o StrictHostKeyChecking=no ec2-user@172.31.18.198 ${dockerRun}"
}
}
}