Jelajahi Sumber

build via jenkinfile

formation 5 tahun lalu
induk
melakukan
03eb78fe2b
4 mengubah file dengan 62 tambahan dan 0 penghapusan
  1. 33 0
      Jenkinsfile
  2. 17 0
      build/docker/apache/Dockerfile
  3. 7 0
      build/docker/apache/apache.conf
  4. 5 0
      src/index.php

+ 33 - 0
Jenkinsfile

@@ -0,0 +1,33 @@
+node{
+    stage('checkout'){
+        deleteDir()
+        checkout scm
+    }
+    stage('Stop Container'){
+        sh 'docker ps | grep "workflow_" -v | awk -F " " \'{if(NR>1)print $1}\' | xargs docker kill | xargs docker rm || true'
+        sh 'docker system prune -f'        
+    }
+    stage('Build Container')
+    {
+        imageApache=docker.build('server-apache-dev', '--no-cache -f build/docker/apache/Dockerfile .')
+        containerApache=imageApache.run('-p 8080:80')
+    }
+    stage('Waiting Container'){
+        waitUntil{
+            try{
+                sh "docker exec ${containerApache.id} php -v"
+            return true
+        } catch(Exception $e){
+            return false
+        }
+     }
+    }
+    stage('stage 1bis'){
+        sh 'docker -v'
+        sh 'docker ps' 
+    }    
+    
+    stage('stage 2bis'){
+        sh 'ls -ls'
+    }
+}

+ 17 - 0
build/docker/apache/Dockerfile

@@ -0,0 +1,17 @@
+FROM php:7.3-apache
+
+RUN apt-get update
+RUN apt-get install -y \
+    curl \
+    nano
+
+RUN docker-php-ext-install opcache
+
+COPY $PWD/build/docker/apache/apache.conf /etc/apache2/sites-available/docker.conf
+RUN a2dissite 000-default default-ssl
+RUN a2ensite docker
+
+COPY $PWD /var/www
+WORKDIR /var/www
+
+EXPOSE 80

+ 7 - 0
build/docker/apache/apache.conf

@@ -0,0 +1,7 @@
+<VirtualHost *:80>
+   DocumentRoot /var/www/src
+   <Directory /var/www/src>
+        option +Indexes +FollowSymlinks
+        AllowOverride All
+   </Dicrectory>
+</VirtualHost>       

+ 5 - 0
src/index.php

@@ -0,0 +1,5 @@
+<?php
+
+echo "ok"
+
+?>