mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-20 14:55:50 +00:00
Merge pull request #4 from JustFiesta/jenkins-assesment
Jenkins assesment
This commit is contained in:
commit
242d94717c
2 changed files with 33 additions and 86 deletions
79
Jenkinsfile
vendored
79
Jenkinsfile
vendored
|
@ -1,9 +1,11 @@
|
|||
// Merge request pipeline
|
||||
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
NEXUS_CREDS = credentials('nexus-cred')
|
||||
NEXUS_DOCKER_REPO_MR = '34.241.46.54:8085'
|
||||
NEXUS_DOCKER_REPO_MR = '34.245.131.115:8085'
|
||||
NEXUS_DOCKER_REPO_MAIN = '34.245.131.115:8084'
|
||||
}
|
||||
|
||||
tools {
|
||||
|
@ -11,6 +13,7 @@ pipeline {
|
|||
}
|
||||
|
||||
stages {
|
||||
// Merge request pipeline
|
||||
stage('Checkstyle') {
|
||||
steps{
|
||||
echo 'Running gradle checkstyle'
|
||||
|
@ -53,60 +56,44 @@ pipeline {
|
|||
}
|
||||
stage('Docker Push (MR)') {
|
||||
steps {
|
||||
echo 'Pushing Image to docker hub'
|
||||
echo 'Pushing Image to docker repo'
|
||||
sh 'docker push $NEXUS_DOCKER_REPO_MR/spring-petclinic:${GIT_COMMIT}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
cleanWs()
|
||||
// Main branch pipeline
|
||||
stage('Docker Build (Main)') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
echo 'Building docker Image'
|
||||
sh 'docker build -t $NEXUS_DOCKER_REPO_MAIN/spring-petclinic:${GIT_COMMIT} .'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Main branch pipeline
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
NEXUS_CREDS = credentials('nexus-cred')
|
||||
NEXUS_DOCKER_REPO_MAIN = '34.241.46.54:8084'
|
||||
}
|
||||
|
||||
stage('Docker Build (Main)') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
echo 'Building docker Image'
|
||||
sh 'docker build -t $NEXUS_DOCKER_REPO_MAIN/spring-petclinic:${GIT_COMMIT} .'
|
||||
}
|
||||
}
|
||||
stage('Docker Login') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
echo 'Nexus Docker Repository Login'
|
||||
script{
|
||||
withCredentials([usernamePassword(credentialsId: 'nexus-cred', usernameVariable: 'USER', passwordVariable: 'PASS' )]){
|
||||
sh 'echo $PASS | docker login -u $USER --password-stdin $NEXUS_DOCKER_REPO_MAIN'
|
||||
stage('Docker Login') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
echo 'Nexus Docker Repository Login'
|
||||
script{
|
||||
withCredentials([usernamePassword(credentialsId: 'nexus-cred', usernameVariable: 'USER', passwordVariable: 'PASS' )]){
|
||||
sh 'echo $PASS | docker login -u $USER --password-stdin $NEXUS_DOCKER_REPO_MAIN'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Docker Push (Main)') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
echo 'Pushing Image to docker hub'
|
||||
sh 'docker push $NEXUS_DOCKER_REPO_MAIN/spring-petclinic:${GIT_COMMIT}'
|
||||
stage('Docker Push (Main)') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
echo 'Pushing Image to docker repo'
|
||||
sh 'docker push $NEXUS_DOCKER_REPO_MAIN/spring-petclinic:${GIT_COMMIT}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
cleanWs()
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
jenkins assesment:
|
||||
|
||||
3 kontenery na EC2 -> jenkins-docker, jenkins-blueocean, nexus
|
||||
|
||||
!!! Pobranie klucza do EC2 !!!
|
||||
|
||||
EC2 - security groups + t6 type:
|
||||
ssh -i C:\lokalizacja_klucza\jenkins-assesement-ec2.pem ec2-user@ec2-3-252-205-41.eu-west-1.compute.amazonaws.com
|
||||
|
||||
Po uruchomieniu EC2:
|
||||
docker start nexus
|
||||
docker start jenkins-blueocean
|
||||
docker run \/
|
||||
|
||||
!!!!!!!! zmieniaj IP w env w JenkinsFile (GitHub), daemon.json (EC2), docker:dind dodaj --insecure-registries !!!!!!!!!!!!
|
||||
|
||||
----------------------------
|
||||
W jenkinsie:
|
||||
add creds - github, nexus
|
||||
|
||||
!!! create github token !!!
|
||||
|
||||
----------------------------
|
||||
Serwer Jenkinsa na EC2:
|
||||
|
||||
Nexus:
|
||||
sudo docker run -d -p 8081-8085:8081-8085 --name nexus -v nexus-data:/nexus-data sonatype/nexus3
|
||||
|
||||
Jenkins Docker:
|
||||
sudo docker run --name jenkins-docker --rm --detach --privileged --network jenkins --network-alias docker --env DOCKER_TLS_CERTDIR=/certs --volume jenkins-docker-certs:/certs/client --volume jenkins-data:/var/jenkins_home --publish 2376:2376 docker:dind --insecure-registry 54.195.172.42:8085 --insecure-registry 54.195.172.42:8084 --storage-driver overlay2
|
||||
|
||||
Jenkins Blueocean:
|
||||
dockerfile z dokumentacji jenkinsa + run blueocean
|
||||
https://www.jenkins.io/doc/book/installing/docker/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue