From 02d86266df3e18ac3bee245cd8702fe634f542e4 Mon Sep 17 00:00:00 2001 From: Artsiom Siamashka Date: Tue, 16 Sep 2025 17:04:41 +0200 Subject: [PATCH] Added Dockerfile and jenkins pipeline --- Dockerfile | 15 +++++++++++++++ Jenkinsfile | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 Dockerfile create mode 100644 Jenkinsfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a736e39 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +# Base image +FROM composer:2.6.4 AS base + +COPY . /src +WORKDIR /src +RUN composer install --no-dev --optimize-autoloader + +FROM wordpress:6.1.1-php8.2 AS livecarta_wp +ARG ENV_NAME +COPY --from=base /src/htdocs /var/www/html +COPY --from=base /src/environments/docker_container/ /var/www/html/ +COPY --from=base /src/environments/all/ /var/www/html/ +COPY --from=base /src/environments/${ENV_NAME}/robots.txt /var/www/html/robots.txt + +RUN chown -R www-data:www-data /var/www/html/ diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..336c909 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,50 @@ +pipeline { + agent any + + parameters { + choice( + name: 'ENVIRONMENT', + choices: ['dev', 'qa', 'new_prod', 'demo'], + description: 'Environment Name for the application (e.g., dev, production etc.)' + ) + } + + stages { + stage('Build Base QA Docker Image') { + when { + branch 'qa' + } + steps { + sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_wp:qa ." + sh 'docker push 10.50.10.93:5000/livecarta_base:qa_test' + } + } + stage('Build Base DEV Docker Image') { + when { + branch 'develop' + } + steps { + sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_base:dev ." + sh 'docker push 10.50.10.93:5000/livecarta_base:dev' + } + } + stage('Build Base PROD Docker Image') { + when { + branch 'master' + } + steps { + sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_base:prod ." + sh 'docker push 10.50.10.93:5000/livecarta_base:prod' + } + } + stage('Build Base WL Docker Image') { + when { + branch 'wl' + } + steps { + sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_base:wl ." + sh 'docker push 10.50.10.93:5000/livecarta_base:wl' + } + } + } +} \ No newline at end of file