Jenkinsfile 1.2 KB

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