1pipeline {
2 agent any
3
4 environment {
5 DOCKERHUB_CREDENTIALS = credentials('dockerhub')
6 }
7
8 stages {
9 stage('Docker Login') {
10 steps {
11 sh 'echo $DOCKERHUB_CREDENTIALS_PSW | docker login -u $DOCKERHUB_CREDENTIALS_USR --password-stdin'
12 }
13 }
14 stage('Build & Push Image') {
15 steps {
16 sh """
17 cd laravel-app
18 docker build -t $DOCKERHUB_CREDENTIALS_USR/laravel-app:latest .
19 docker push $DOCKERHUB_CREDENTIALS_USR/laravel-app:latest
20 """
21 }
22 }
23 stage('Deploy with Compose') {
24 steps {
25 sh """
26 cd laravel-app
27 docker compose pull
28 docker compose up -d
29 docker compose ps
30 """
31 }
32 }
33 }
34}