Skip to content

Commit 35720aa

Browse files
authored
Create Jenkinsfile
1 parent d5264a1 commit 35720aa

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
pipeline{
2+
agent any
3+
tools{
4+
jdk 'jdk17'
5+
nodejs 'node18'
6+
}
7+
environment {
8+
SCANNER_HOME=tool 'sonar-scanner'
9+
}
10+
stages {
11+
stage('Checkout from Git'){
12+
steps{
13+
git branch: 'main', url: 'https://github.com/tainguyenbp/learn-programming.git'
14+
}
15+
}
16+
stage('Install Dependencies') {
17+
steps {
18+
sh "npm install"
19+
}
20+
}
21+
stage("Sonarqube Analysis "){
22+
steps{
23+
withSonarQubeEnv('sonar-server') {
24+
sh ''' $SCANNER_HOME/bin/sonar-scanner -Dsonar.projectName=uptime \
25+
-Dsonar.projectKey=uptime '''
26+
}
27+
}
28+
}
29+
stage("quality gate"){
30+
steps {
31+
script {
32+
waitForQualityGate abortPipeline: false, credentialsId: 'Sonar-token'
33+
}
34+
}
35+
}
36+
stage('OWASP FS SCAN') {
37+
steps {
38+
dependencyCheck additionalArguments: '--scan ./ --disableYarnAudit --disableNodeAudit', odcInstallation: 'DP-Check'
39+
dependencyCheckPublisher pattern: '**/dependency-check-report.xml'
40+
}
41+
}
42+
stage('TRIVY FS SCAN') {
43+
steps {
44+
sh "trivy fs . > trivyfs.json"
45+
}
46+
}
47+
stage("Docker Build & Push"){
48+
steps{
49+
script{
50+
withDockerRegistry(credentialsId: 'docker', toolName: 'docker'){
51+
sh "docker build -t uptime ."
52+
sh "docker tag uptime sevenajay/uptime:latest "
53+
sh "docker push sevenajay/uptime:latest "
54+
}
55+
}
56+
}
57+
}
58+
stage("TRIVY"){
59+
steps{
60+
sh "trivy image sevenajay/uptime:latest > trivy.json"
61+
}
62+
}
63+
stage ("Remove container") {
64+
steps{
65+
sh "docker stop uptime | true"
66+
sh "docker rm uptime | true"
67+
}
68+
}
69+
stage('Deploy to container'){
70+
steps{
71+
sh 'docker run -d --name chatbot -v /var/run/docker.sock:/var/run/docker.sock -p 3001:3001 sevenajay/uptime:latest'
72+
}
73+
}
74+
}

0 commit comments

Comments
 (0)