.gitlab-ci.yml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. build_branch:
  2. image: docker.infra.flowdat.com/fd3/sf-php:latest
  3. script:
  4. - chmod 0600 keys/*
  5. - eval $(ssh-agent); ssh-add keys/gogs.drone.id_rsa
  6. - git fetch --tags
  7. - if git ls-remote --exit-code gogs &>/dev/null; then echo 'Existe el remote gogs' ; else git remote add gogs ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/statsd.git ; fi
  8. - git checkout $CI_COMMIT_REF_NAME
  9. - git push -u gogs $CI_COMMIT_REF_NAME --tags
  10. only:
  11. - pushes
  12. - branches
  13. image: docker:stable
  14. services:
  15. - docker:dind
  16. variables:
  17. MYSQL_ROOT_PASSWORD: ""
  18. MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
  19. CONTAINER_IMAGE: docker.infra.flowdat.com/fd3/statsd
  20. CONTAINER_IMAGE_JSONEP: docker.infra.flowdat.com/fd3/jsonep
  21. CONTAINER_IMAGE_JSONEP_MONGO: docker.infra.flowdat.com/fd3/jsonep_mongo
  22. CONTAINER_IMAGE_JSONEP_MYSQL: docker.infra.flowdat.com/fd3/jsonep_mysql
  23. CLIENT: fd3
  24. DOMAIN: flowdat.com
  25. DOCKER_USER: drone
  26. DOCKER_PWD: 6hd2dLfL
  27. docker:
  28. stage: build
  29. script:
  30. - docker info
  31. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  32. - docker pull $CONTAINER_IMAGE:latest || true
  33. - docker build --cache-from $CONTAINER_IMAGE:latest --tag $CONTAINER_IMAGE:latest ./statsd
  34. - docker push $CONTAINER_IMAGE:latest
  35. only:
  36. refs:
  37. - pushes
  38. variables:
  39. - $CI_COMMIT_REF_NAME == "master"
  40. docker_version_tag:
  41. stage: build
  42. script:
  43. - docker info
  44. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  45. - docker pull $CONTAINER_IMAGE:latest || true
  46. - docker build --cache-from $CONTAINER_IMAGE:latest --tag $CONTAINER_IMAGE:"${CI_COMMIT_TAG##v}" ./statsd
  47. - docker push $CONTAINER_IMAGE:"${CI_COMMIT_TAG##v}"
  48. only:
  49. refs:
  50. - tags
  51. variables:
  52. - $CI_COMMIT_TAG =~ /^v[0-9]+(.[0-9]+)*/
  53. docker_jsonep_mongo:
  54. stage: build
  55. docker_jsonep:
  56. stage: build
  57. script:
  58. - docker info
  59. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  60. - docker pull $CONTAINER_IMAGE_JSONEP:latest || true
  61. - docker build --cache-from $CONTAINER_IMAGE_JSONEP:latest --tag $CONTAINER_IMAGE_JSONEP:latest ./endpoint/json
  62. - docker push $CONTAINER_IMAGE_JSONEP:latest
  63. only:
  64. refs:
  65. - pushes
  66. variables:
  67. - $CI_COMMIT_REF_NAME == "master"
  68. docker_version_tag_jsonep:
  69. stage: build
  70. script:
  71. - docker info
  72. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  73. - docker pull $CONTAINER_IMAGE_JSONEP:latest || true
  74. - docker build --cache-from $CONTAINER_IMAGE_JSONEP:latest --tag $CONTAINER_IMAGE_JSONEP:"${CI_COMMIT_TAG##v}" ./endpoint/mongodb
  75. - docker push $CONTAINER_IMAGE_JSONEP:"${CI_COMMIT_TAG##v}"
  76. only:
  77. refs:
  78. - tags
  79. variables:
  80. - $CI_COMMIT_TAG =~ /^v[0-9]+(.[0-9]+)*/
  81. docker_jsonep_mongo:
  82. stage: build
  83. script:
  84. - docker info
  85. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  86. - docker pull $CONTAINER_IMAGE_JSONEP_MONGO:latest || true
  87. - docker build --cache-from $CONTAINER_IMAGE_JSONEP_MONGO:latest --tag $CONTAINER_IMAGE_JSONEP_MONGO:latest ./endpoint/mongodb
  88. - docker push $CONTAINER_IMAGE_JSONEP_MONGO:latest
  89. only:
  90. refs:
  91. - pushes
  92. variables:
  93. - $CI_COMMIT_REF_NAME == "master"
  94. docker_version_tag_jsonep:
  95. stage: build
  96. script:
  97. - docker info
  98. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  99. - docker pull $CONTAINER_IMAGE_JSONEP_MONGO:latest || true
  100. - docker build --cache-from $CONTAINER_IMAGE_JSONEP_MONGO:latest --tag $CONTAINER_IMAGE_JSONEP_MONGO:"${CI_COMMIT_TAG##v}" ./endpoint/mongodb
  101. - docker push $CONTAINER_IMAGE_JSONEP_MONGO:"${CI_COMMIT_TAG##v}"
  102. only:
  103. refs:
  104. - tags
  105. variables:
  106. - $CI_COMMIT_TAG =~ /^v[0-9]+(.[0-9]+)*/
  107. docker_jsonep_mysql:
  108. stage: build
  109. script:
  110. - docker info
  111. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  112. - docker pull $CONTAINER_IMAGE_JSONEP_MYSQL:latest || true
  113. - docker build --cache-from $CONTAINER_IMAGE_JSONEP_MYSQL:latest --tag $CONTAINER_IMAGE_JSONEP_MYSQL:latest ./endpoint/mysql
  114. - docker push $CONTAINER_IMAGE_JSONEP_MYSQL:latest
  115. only:
  116. refs:
  117. - pushes
  118. variables:
  119. - $CI_COMMIT_REF_NAME == "master"
  120. docker_version_tag_jsonep_mysql:
  121. stage: build
  122. script:
  123. - docker info
  124. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  125. - docker pull $CONTAINER_IMAGE_JSONEP_MYSQL:latest || true
  126. - docker build --cache-from $CONTAINER_IMAGE_JSONEP_MYSQL:latest --tag $CONTAINER_IMAGE_JSONEP_MYSQL:"${CI_COMMIT_TAG##v}" ./endpoint/mysql
  127. - docker push $CONTAINER_IMAGE_JSONEP_MYSQL:"${CI_COMMIT_TAG##v}"
  128. only:
  129. refs:
  130. - tags
  131. variables:
  132. - $CI_COMMIT_TAG =~ /^v[0-9]+(.[0-9]+)*/