diff --git a/Dockerfile b/Dockerfile index 964ea12..05d5b77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,6 @@ WORKDIR /JavaWeb COPY . . RUN mvn clean package -FROM tomcat +FROM tomcat:9 COPY --from=dev /JavaWeb/target/*.war /usr/local/tomcat/webapps -EXPOSE 8080 +#EXPOSE 8080 diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..3f5ae98 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,36 @@ +pipeline { + agent { + node { + label 'Main' + } + } + environment { + registry = "474011752432.dkr.ecr.us-east-1.amazonaws.com/java" + } + stages { + // Building Docker images + stage('Building image') { + steps{ + script { + dockerImage = docker.build registry + } + } + } + // Uploading Docker images into AWS ECR + stage('Pushing to ECR') { + steps{ + script { + sh 'aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 474011752432.dkr.ecr.us-east-1.amazonaws.com' + sh 'docker push 474011752432.dkr.ecr.us-east-1.amazonaws.com/java:latest' + } + } + } + // Stopping Docker containers + stage('stop previous containers') { + steps { + sh 'docker ps -f name=mypJavaContainer -q | xargs --no-run-if-empty docker container stop' + sh 'docker container ls -a -fname=myJavaContainer -q | xargs -r docker container rm' + } + } + } +} diff --git a/buildspec.yml b/buildspec.yml new file mode 100644 index 0000000..56485fc --- /dev/null +++ b/buildspec.yml @@ -0,0 +1,18 @@ +version: 0.2 + +phases: + pre_build: + commands: + - aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 474011752432.dkr.ecr.us-east-1.amazonaws.com + - REPOSITORY_URI=474011752432.dkr.ecr.us-east-1.amazonaws.com/java:latest + build: + commands: + - docker build -t java . + - docker tag java:latest 474011752432.dkr.ecr.us-east-1.amazonaws.com/java:latest + post_build: + commands: + - docker push 474011752432.dkr.ecr.us-east-1.amazonaws.com/java:latest + - printf '[{"name":"java","imageUri":"%s"}]' 474011752432.dkr.ecr.us-east-1.amazonaws.com/java:latest > imagedefinitions.json + - cat imagedefinitions.json +artifacts: + files: imagedefinitions.json