Jenkinsfile 1.4 KB

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