Jenkinsfile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. node{
  2. withEnv(["PATH+NODE=${tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'}/bin"]) {
  3. sh 'node -v'
  4. }
  5. env.NODEJS_HOME = "${tool 'NodeJS'}"
  6. // on linux / mac
  7. env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
  8. // on windows
  9. //env.PATH="${env.NODEJS_HOME};${env.PATH}"
  10. sh 'npm --version'
  11. stage('checkout'){
  12. deleteDir()
  13. checkout scm
  14. }
  15. stage('Stop Container'){
  16. sh 'docker ps | grep "workflow_" -v | awk -F " " \'{if(NR>1)print $1}\' | xargs docker kill | xargs docker rm || true'
  17. sh 'docker system prune -f'
  18. }
  19. stage('Build Container')
  20. {
  21. imageApache=docker.build('server-apache-dev', '--no-cache -f build/docker/apache/Dockerfile .')
  22. imageSql=docker.build('server-mysql-dev', '--no-cache -f build/docker/mysql/Dockerfile .')
  23. containerMysql=imageSql.run('--name server-mysql-dev')
  24. containerApache=imageApache.run('-p 8080:80 --link server-mysql-dev:mysql')
  25. }
  26. stage('Waiting Container'){
  27. waitUntil{
  28. try{
  29. sh "docker exec ${containerApache.id} php -v"
  30. return true
  31. } catch(Exception $e){
  32. return false
  33. }
  34. }
  35. }
  36. stage('stage 1bis'){
  37. sh 'docker -v'
  38. sh 'docker ps'
  39. }
  40. stage('stage 2bis'){
  41. sh 'ls -ls'
  42. }
  43. }