Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/testing #280

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
3dd0bd9
adding a readme
quieroSer Oct 4, 2022
8dde1aa
hi
quieroSer Oct 4, 2022
2695e99
adding build status badge
quieroSer Oct 4, 2022
90d6536
update
quieroSer Oct 4, 2022
75c08f6
added badge for unit test jenkins job
quieroSer Oct 4, 2022
fa66c83
create READMe.md
quieroSer Oct 4, 2022
b595f36
test
quieroSer Oct 5, 2022
8bf159c
test
quieroSer Oct 5, 2022
155209d
Delete README2.md
quieroSer Oct 5, 2022
e9f7b16
change
quieroSer Oct 5, 2022
ac03f3d
change
quieroSer Oct 5, 2022
698e3e2
change
quieroSer Oct 5, 2022
14bdb7e
change again
quieroSer Oct 5, 2022
93f4877
change again
quieroSer Oct 5, 2022
c5a142a
change
quieroSer Oct 5, 2022
ce1ed75
.
quieroSer Oct 5, 2022
67f15f4
test
quieroSer Oct 5, 2022
d538947
added application info
quieroSer Oct 5, 2022
7f0b4ac
Merge pull request #1 from quieroSer/readme
bigStrongDeveloper Oct 5, 2022
3e9dcdb
added Jenkinsfile for worker with build job
quieroSer Oct 5, 2022
949ec1b
Merge pull request #2 from quieroSer/feature/worker
bigStrongDeveloper Oct 5, 2022
a55275b
added test and package jobs to worker pipeline
quieroSer Oct 5, 2022
20faff0
archive artifacts and skip tests during package
quieroSer Oct 5, 2022
314f4f9
added some conditions
quieroSer Oct 5, 2022
5818c54
added some conditions
quieroSer Oct 5, 2022
87813c7
added some conditions
quieroSer Oct 5, 2022
8adbce1
corrected wroker to worker
quieroSer Oct 5, 2022
92ead83
added jenkins file for result app
quieroSer Oct 9, 2022
bb583bf
added a 5th mock test
quieroSer Oct 9, 2022
3f59c66
use docker agent instead of maven tools
quieroSer Oct 9, 2022
5cfc880
add one more unit test
quieroSer Oct 9, 2022
47b2f4c
Merge pull request #3 from quieroSer/feature/dockerbuilds
bigStrongDeveloper Oct 9, 2022
d94788e
Merge pull request #5 from quieroSer/feature/worker
bigStrongDeveloper Oct 9, 2022
94fb18e
Merge pull request #4 from quieroSer/feature/resultpipe
bigStrongDeveloper Oct 9, 2022
f4faa76
changed the result app to use docker instead of the global tools
quieroSer Oct 9, 2022
d58298a
added jenkis file for vote app pipeline
quieroSer Oct 9, 2022
c451dec
Merge branch 'master' into feature/dockerbuilds
bigStrongDeveloper Oct 9, 2022
5bd65af
Merge pull request #6 from quieroSer/feature/dockerbuilds
bigStrongDeveloper Oct 9, 2022
2bb4f87
added docker package stage
quieroSer Oct 12, 2022
6404543
corrected a small mistake
quieroSer Oct 12, 2022
3fda3ca
use per stage specific agent
quieroSer Oct 12, 2022
32b5fd8
made a small change just ot trigger a build
quieroSer Oct 12, 2022
b3e1936
Create Dockerfile
quieroSer Oct 12, 2022
44282bc
Update Dockerfile
quieroSer Oct 12, 2022
76fda60
Update Jenkinsfile
quieroSer Oct 12, 2022
55307de
add another push with branch name
quieroSer Oct 12, 2022
62e7154
update jenkins file for vote and result app
quieroSer Oct 13, 2022
1d11279
corrected some mistakes
quieroSer Oct 13, 2022
03063cd
corrected some mistakes
quieroSer Oct 13, 2022
1f42ef5
corrected other mistakes
quieroSer Oct 13, 2022
9aaa307
modified readme file
quieroSer Oct 13, 2022
9cd675c
added readme file for vote app
quieroSer Oct 13, 2022
b4b40fe
corrected some mistakes in the vote app Jenkinsfile
quieroSer Oct 13, 2022
d406708
commit jenkinsfile for the whole project and docker-compose file
quieroSer Oct 17, 2022
8fa746f
updated some minor mistakes
quieroSer Oct 17, 2022
84da7e7
did some minor changes to trigger a new build
quieroSer Oct 17, 2022
4088a9b
new stage to deploy to dev
quieroSer Oct 17, 2022
dfdd2e7
run deploy to dev only on master
quieroSer Oct 17, 2022
a752e96
added a sonar qube scanning and project stages
quieroSer Oct 19, 2022
0080ead
integration test for vote app
quieroSer Oct 19, 2022
c59bb16
fuck this course
quieroSer Oct 21, 2022
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
253 changes: 253 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
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(path: '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(path: '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 'package worker app'
dir(path: 'worker') {
sh 'mvn package -DskipTests'
}

}
}

stage('worker docker-package') {
agent any
when {
branch 'master'
changeset '**/worker/**'
}
steps {
echo 'Package worker app'
script {
docker.withRegistry('https://index.docker.io/v1/', 'dockerhub') {
def workerImage = docker.build("donquijotedelasnubes/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(path: '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(path: 'result') {
sh 'npm install'
sh 'npm test'
}

}
}

stage('result docker-package') {
agent any
when {
branch 'master'
changeset '**/result/**'
}
steps {
echo 'Package result app'
script {
docker.withRegistry('https://index.docker.io/v1/', 'dockerhub') {
def resultImage = docker.build("donquijotedelasnubes/result:v${env.BUILD_ID}", "./result")
resultImage.push()
resultImage.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(path: '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 result app'
dir(path: 'vote') {
sh 'pip install -r requirements.txt'
sh 'nosetests -v'
}

}
}

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

}
}

stage('Sonarqube') {
agent any
/* when{
branch 'master'
}
*/
tools {
jdk "JDK11" // the name you have given the JDK installation in Global Tool Configuration
}

environment{
sonarpath = tool 'SonarScanner'
}

steps {
echo 'Running Sonarqube Analysis..'
withSonarQubeEnv('sonar-instavote') {
sh "${sonarpath}/bin/sonar-scanner -Dproject.settings=sonar-project.properties -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=86400"
}
}
}


stage("Quality Gate") {
agent any
steps {
timeout(time: 5, unit: 'MINUTES') {
// Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails
// true = set pipeline to UNSTABLE, false = don't
waitForQualityGate abortPipeline: true
}
}
}

stage('depoly to dev') {
agent any
when {
branch 'master'
}
steps {
sh 'docker-compose up -d'
}
}

}
post {
always {
echo 'pipeline for end to end application complete'
}

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

this is a sample isntavote application

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

Expand Down
50 changes: 50 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
version: "3.7"

volumes:
db-data:

networks:
instavote:
driver: bridge

services:
vote:
image: donquijotedelasnubes/vote:master
ports:
- 5045:80
depends_on:
- redis
networks:
- instavote

redis:
image: redis:alpine
networks:
- instavote

db:
image: postgres:9.4
volumes:
- "db-data:/var/lib/postgresql/data"
environment:
POSTGRES_HOST_AUTH_METHOD: trust
networks:
- instavote


result:
image: donquijotedelasnubes/result:master
ports:
- 5046:4000
depends_on:
- db
networks:
- instavote

worker:
image: donquijotedelasnubes/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=donquijotedelasnubes/vote:master
WORKER_IMAGE=donquijotedelasnubes/worker:master
RESULT_IMAGE=donquijotedelasnubes/result:master
63 changes: 63 additions & 0 deletions result/Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
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{
branch 'master'
changeset "**/result/**"
}
steps {
echo 'Package result app'
script{
docker.withRegistry('https://index.docker.io/v1/', 'dockerhub') {
def resultImage = docker.build("donquijotedelasnubes/result:v${env.BUILD_ID}", "./result")
resultImage.push()
resultImage.push("${env.BRANCH_NAME}")
}
}
}
}
}
post{
always{
echo 'pipeline for result complete'
}
}
}

7 changes: 7 additions & 0 deletions result/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## this is a readme file with the Jenkins badges


for Build
[![Build Status](http://157.230.222.153:8080/buildStatus/icon?job=result-build)](http://157.230.222.153:8080/job/result-build/)
and for Test
[![Build Status](http://157.230.222.153:8080/buildStatus/icon?job=result-test)](http://157.230.222.153:8080/job/result-test/)
Loading