Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
036afef
adding readme
cziaul Oct 2, 2020
4f62a50
adding test
cziaul Oct 2, 2020
bab1391
added test1
cziaul Oct 2, 2020
e61f5bd
test2
cziaul Oct 3, 2020
7ae0128
This is a test Readme1
cziaul Oct 3, 2020
aaaf816
Test Readme2
cziaul Oct 3, 2020
a374023
adding build status badge
cziaul Oct 3, 2020
1057fe7
added application info
cziaul Oct 6, 2020
a65c029
Merge pull request #1 from cziaul/readme
cziaul Oct 6, 2020
8c9ac59
added Jenkinsfile for worker with build job
cziaul Oct 7, 2020
2e5db06
Merge pull request #2 from cziaul/feature/workerpipe
ziaulk Oct 7, 2020
9cbf77e
webhook test
cziaul Oct 7, 2020
a293494
Merge pull request #3 from cziaul/feature/workerpipe
ziaulk Oct 7, 2020
32b5c91
webhook testy
cziaul Oct 7, 2020
81e1367
Merge pull request #4 from cziaul/feature/workerpipe
ziaulk Oct 7, 2020
5826b74
adding webhook
cziaul Oct 7, 2020
3950d49
Merge pull request #5 from cziaul/feature/workerpipe
ziaulk Oct 7, 2020
6e24c74
added Jenkinsfile for worker with build job
cziaul Oct 8, 2020
d8406fa
archive artifacts, skip tests while packaging
cziaul Oct 8, 2020
a4018fb
added missing comma
cziaul Oct 8, 2020
1f68b5b
run packaging step only on master, run stages only when worker code c…
cziaul Oct 9, 2020
675787b
added slack failure and sucess notifications
cziaul Oct 9, 2020
89259da
Merge pull request #6 from cziaul/feature/workerpipe
ziaulk Oct 9, 2020
999b5c2
addded jenkisfile for NodeJS
cziaul Oct 9, 2020
84d7b29
Merge pull request #7 from cziaul/feature/resultpipe
ziaulk Oct 9, 2020
2b7fd1f
added test case
cziaul Oct 9, 2020
5585be2
Merge branch 'master' of https://github.com/cziaul/example-voting-app…
cziaul Oct 13, 2020
235f8b4
use docker agent instead of maven tools
cziaul Oct 13, 2020
217f247
Merge pull request #8 from cziaul/feature/dockerbuilds
cziaul Oct 13, 2020
e4ab807
added test 5
cziaul Oct 13, 2020
a5a4436
Merge pull request #9 from cziaul/feature/dockerbuilds
cziaul Oct 13, 2020
653aceb
deleted test5 to crosscheck
cziaul Oct 13, 2020
dd52a12
Merge pull request #10 from cziaul/feature/dockerbuilds
ziaulk Oct 13, 2020
9c62319
added docker agent for nodejs for result
cziaul Oct 13, 2020
7a6f52f
Merge pull request #11 from cziaul/feature/dockerbuilds
ziaulk Oct 13, 2020
82ff64b
added jekinsfile for python
cziaul Oct 13, 2020
7d745d3
changed slack channel
cziaul Oct 13, 2020
603df05
Merge pull request #12 from cziaul/feature/dockervote
ziaulk Oct 13, 2020
8cabd18
changed docker image
cziaul Oct 13, 2020
0fd08de
Merge pull request #13 from cziaul/feature/dockervote
ziaulk Oct 13, 2020
c2ce049
changed install param
cziaul Oct 13, 2020
102942b
Merge pull request #14 from cziaul/feature/dockervote
ziaulk Oct 13, 2020
e43d56f
change argument
cziaul Oct 13, 2020
f63c463
Merge pull request #15 from cziaul/feature/dockervote
cziaul Oct 13, 2020
9300e0c
added Dockerfile
cziaul Oct 15, 2020
6dddc8c
Merge pull request #16 from cziaul/worker/Dockerfile
ziaulk Oct 15, 2020
542d7c6
added dockerfile with dockerbuild
cziaul Oct 15, 2020
02c866a
Merge pull request #17 from cziaul/feature/dockervote
ziaulk Oct 15, 2020
0d0a550
taken off chengeset to run everytime
cziaul Oct 15, 2020
c8efc6a
Merge pull request #18 from cziaul/feature/dockervote
ziaulk Oct 15, 2020
22d061f
taken off stage and condition
cziaul Oct 15, 2020
7a45923
Dockerfile.bak1
cziaul Oct 15, 2020
b98a3e0
changed backup file name
cziaul Oct 16, 2020
ed8051a
Merge pull request #19 from cziaul/feature/dockervote
ziaulk Oct 16, 2020
ab04427
added individual agent
cziaul Oct 16, 2020
9cf9ada
Merge pull request #20 from cziaul/feature/dockervote
cziaul Oct 16, 2020
fe89a6c
added /
cziaul Oct 16, 2020
8d35ebf
Merge pull request #21 from cziaul/feature/dockervote
ziaulk Oct 16, 2020
9f453b6
added condition for master
cziaul Oct 18, 2020
87baa87
Merge pull request #22 from cziaul/feature/specificcondition
ziaulk Oct 18, 2020
8b3512e
added docker packaging
cziaul Oct 18, 2020
f623b08
Merge pull request #23 from cziaul/feature/pythondocker
ziaulk Oct 18, 2020
a9a3c39
added changes for vote(python) and worker(nodejs) app
cziaul Oct 19, 2020
93e37ae
corrected worker
cziaul Oct 19, 2020
861f39e
Merge pull request #24 from cziaul/feature/pythondocker
ziaulk Oct 19, 2020
329928e
moved agent under build tag
cziaul Oct 19, 2020
5f05423
Merge pull request #25 from cziaul/feature/pythondocker
cziaul Oct 19, 2020
e88ff5c
added mono pipeline code all in one
cziaul Oct 20, 2020
d41bcda
Merge pull request #26 from cziaul/feature/monopipeline
ziaulk Oct 20, 2020
16416d3
changed README to test full app
cziaul Oct 20, 2020
dfa8a55
Merge pull request #27 from cziaul/feature/monopipeline
cziaul Oct 20, 2020
c9e9177
Added README file for result and vote
cziaul Oct 20, 2020
7c1cde3
Merge pull request #28 from cziaul/feature/monopipeline
ziaulk Oct 20, 2020
26e7408
adding docker compose file
cziaul Oct 20, 2020
07f1ff3
added changes to integrate docker-compose with jenkinsfile
cziaul Oct 20, 2020
28ca8f6
ommited when cluse for master to test
cziaul Oct 20, 2020
3b6602a
corrected to docker-compose
cziaul Oct 20, 2020
0970783
added back when condition
cziaul Oct 20, 2020
0876375
Merge pull request #29 from cziaul/feature/monopipeline
cziaul Oct 20, 2020
b46c596
updated voting option
cziaul Oct 20, 2020
b720839
Merge pull request #30 from cziaul/feature/monopipeline
ziaulk Oct 20, 2020
627be58
added sonarqube configuration
cziaul Oct 24, 2020
7ed5cfb
added integration test
cziaul Oct 28, 2020
022d663
Merge branch 'master' of https://github.com/cziaul/example-voting-app…
cziaul Oct 28, 2020
67ba3d8
Merge pull request #32 from cziaul/feature/monopipeline
cziaul Oct 28, 2020
ae576ee
change variable
cziaul Oct 29, 2020
dd66726
Merge pull request #33 from cziaul/feature/monopipeline
ziaulk Oct 29, 2020
673eabc
Added Test4 for scenario Jira 002
cziaul May 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
257 changes: 257 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,257 @@
pipeline {

agent none

stages {
stage('worker build') {
agent {
docker {
image 'maven:3.6.1-jdk-8-alpine'
args '-v $HOME/.m2:/root/.m2'
}
}
when{
changeset "**/worker/**"
}
steps{
echo "Compiling worker app"
dir('worker'){
sh 'mvn compile'
}
}
}
stage('worker test') {

agent {
docker {
image 'maven:3.6.1-jdk-8-alpine'
args '-v $HOME/.m2:/root/.m2'
}
}

when{
changeset "**/worker/**"
}
steps{
echo "Running Unit Tests on worker app"
dir('worker'){
sh 'mvn clean test'
}

}
}


stage('worker package') {

agent {
docker {
image 'maven:3.6.1-jdk-8-alpine'
args '-v $HOME/.m2:/root/.m2'
}
}

when{
branch 'master'
changeset "**/worker/**"
}
steps{
echo "Packaging woker app"
dir('worker'){
sh 'mvn package -DskipTests'
archiveArtifacts artifacts: '**/target/*.jar', fingerprint:true

}
}
}


stage('worker-docker-package') {
agent any
when{
changeset "**/worker/**"
}
steps{
echo "Packaging worker app with docker"
script{
docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin'){
def workerImage = docker.build("cziaul/worker:v${env.BUILD_ID}", "./worker")
workerImage.push()
workerImage.push("${env.BRANCH_NAME}")
}
}
}
}

stage('result build') {
agent {
docker {
image 'node:8.16.0-alpine'
}
}
when{
changeset "**/result/**"
}
steps{
echo "Compiling result app"
dir('result'){
sh 'npm install'
}
}
}
stage('result test') {
agent {
docker {
image 'node:8.16.0-alpine'
}
}

when{
changeset "**/result/**"
}
steps{
echo "Running Unit Tests on result app"
dir('result'){
sh 'npm install'
sh 'npm test'
}

}
}
stage('result-docker-package') {
agent any
when{
changeset "**/result/**"
branch 'master'
}
steps{
echo "Packaging worker result app with docker"
script{
docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin'){
def workerImage = docker.build("cziaul/result:v${env.BUILD_ID}", "./result")
workerImage.push()
workerImage.push("${env.BRANCH_NAME}")
}
}
}
}

stage('vote build') {

agent {
docker {
image 'python:2.7.16-slim'
args '--user root'
}
}

when{
changeset "**/vote/**"
}
steps{
echo "Compiling vote app"
dir('vote'){
sh 'pip install -r requirements.txt'
}
}
}
stage('vote test') {

agent {
docker {
image 'python:2.7.16-slim'
args '--user root'
}
}

when{
changeset "**/vote/**"
}
steps{
echo "Running Unit Tests on vote app"
dir('vote'){
sh 'pip install -r requirements.txt'
sh 'nosetests -v'
}

}
}

stage('vote integration') {

agent any

when{
changeset "**/vote/**"
branch 'master'
}
steps{
echo "Running integration Tests on vote app"
dir('vote'){
sh 'integration_test.sh'
}

}
}


stage('vote-docker-package') {
agent any
when{
changeset "**/vote/**"
branch 'master'
}
steps{
echo "Packaging worker vote app with docker"
script{
docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin'){
def workerImage = docker.build("cziaul/vote:v${env.BUILD_ID}", "./vote")
workerImage.push()
workerImage.push("${env.BRANCH_NAME}")
}
}
}
}


stage('Sonarqube') {
agent any
environment{
sonarpath = tool 'SonarScanner'
}
steps {
echo 'Running Sonarqube Analysis..'
withSonarQubeEnv('sonar') {
sh "${sonarpath}/bin/sonar-scanner -Dproject.settings=sonar-project.properties"
}
}
}

stage('deploy to dev') {

agent any

when{
branch 'master'
}
steps{
echo "Deploy instavote app with docker compose"
sh 'docker-compose up -d'
}
}


}
post{
always{
echo "Pipeline for instavote is completed.."
}
failure{
slackSend(channel: "#jenkinswithslack", message: "Build Failed - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)")
}
success{
slackSend(channel: "#jenkinswithslack", message: "Build Succeeded - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)")
}

}
}
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
Example Voting App
=========

This is a sample testing webhook testy

This is a test for mono pipline

Getting started
---------------

Expand Down
1 change: 1 addition & 0 deletions README1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This is a test Readme2
45 changes: 45 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
version: "3.7"

volumes:
db-data:

networks:
instavote:
driver: bridge


services:
vote:
image: cziaul/vote:master
ports:
- 5000:80
depends_on:
- redis
networks:
- instavote
redis:
image: redis:alpine
networks:
- instavote

db:
image: postgres:9.4
volumes:
- "db-data:/var/lib/postgresql/data"
networks:
- instavote
result:
image: cziaul/result:master
ports:
- 5001:4000
depends_on:
- db
networks:
- instavote
worker:
image: cziaul/worker:master
depends_on:
- redis
- db
networks:
- instavote
6 changes: 3 additions & 3 deletions e2e/.env
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
VOTE_IMAGE=lfs261/vote:master
WORKER_IMAGE=lfs261/worker:master
RESULT_IMAGE=lfs261/result:master
VOTE_IMAGE=cziaul/vote:master
WORKER_IMAGE=cziaul/worker:master
RESULT_IMAGE=cziaul/result:master
1 change: 1 addition & 0 deletions result/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This is to test Mono Pipeline
72 changes: 72 additions & 0 deletions result/jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
pipeline {
agent none

stages {

stage('build') {
agent {
docker {
image 'node:8.16.0-alpine'
}
}
when{
changeset "**/result/**"
}
steps{
echo "Compiling result app"
dir('result'){
sh 'npm install'
}
}
}
stage('test') {
agent {
docker {
image 'node:8.16.0-alpine'
}
}

when{
changeset "**/result/**"
}
steps{
echo "Running Unit Tests on result app"
dir('result'){
sh 'npm install'
sh 'npm test'
}

}
}
stage('docker-package') {
agent any
when{
changeset "**/result/**"
branch 'master'
}
steps{
echo "Packaging worker result app with docker"
script{
docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin'){
def workerImage = docker.build("cziaul/result:v${env.BUILD_ID}", "./result")
workerImage.push()
workerImage.push("${env.BRANCH_NAME}")
}
}
}
}

}
post{
always{
echo "Pipeline for result is completed.."
}
failure{
slackSend(channel: "jenkinswithslackfornodejs", message: "Build Failed - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)")
}
success{
slackSend(channel: "jenkinswithslackfornodejs", message: "Build Succeeded - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)")
}

}
}
Loading