build_release 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. set -e
  3. TYPE=$1
  4. HARD_RELEASE="2.x"
  5. HARD_RC="2.x-RC"
  6. DEV_URL="dev.boot.netboot.xyz"
  7. STAGING_URL="staging.boot.netboot.xyz"
  8. PROD_URL="boot.netboot.xyz"
  9. DOCKER_FILE="Dockerfile-build.production"
  10. # Set boot domain
  11. if [[ "${TYPE}" == "dev" ]]; then
  12. BOOT_DOMAIN="s3.amazonaws.com/${DEV_URL}/${TRAVIS_COMMIT}"
  13. BOOT_VERSION="Development"
  14. elif [[ "${TYPE}" == "pr" ]]; then
  15. BOOT_DOMAIN="test.com"
  16. BOOT_VERSION="test"
  17. DOCKER_FILE="Dockerfile-build"
  18. elif [[ "${TYPE}" == "rc" ]]; then
  19. BOOT_VERSION=$(cat version.txt)-RC
  20. BOOT_DOMAIN="${STAGING_URL}/${BOOT_VERSION}"
  21. elif [[ "${TYPE}" == "release" ]]; then
  22. BOOT_VERSION=$(cat version.txt)
  23. BOOT_DOMAIN="${PROD_URL}/${BOOT_VERSION}"
  24. fi
  25. sed -i \
  26. "/^#boot_version/c\boot_version: \"${BOOT_VERSION}\"" \
  27. user_overrides.yml
  28. sed -i \
  29. "/^#boot_domain/c\boot_domain: ${BOOT_DOMAIN}" \
  30. user_overrides.yml
  31. # Build release
  32. docker build -t localbuild -f ${DOCKER_FILE} .
  33. docker run --rm -it -v $(pwd):/buildout localbuild
  34. # Generate folder outputs
  35. mkdir -p s3out
  36. cp -r buildout/* s3out/
  37. mkdir -p githubout
  38. mv buildout/ipxe/* githubout/
  39. cd buildout
  40. rm -Rf ipxe
  41. tar -czf menus.tar.gz *
  42. mv menus.tar.gz ../githubout
  43. cd ..
  44. if [[ "${TYPE}" == "dev" ]]; then
  45. cp githubout/menus.tar.gz s3out/
  46. fi
  47. # Latest style endpoints for RC and Live
  48. if [[ "${TYPE}" == "release" ]] || [[ "${TYPE}" == "rc" ]]; then
  49. rm -Rf buildout/
  50. if [[ "${TYPE}" == "release" ]]; then
  51. sed -i \
  52. -e "/^boot_version/c\boot_version: \"${HARD_RELEASE}\"" \
  53. -e "/^boot_domain/c\boot_domain: ${PROD_URL}" \
  54. user_overrides.yml
  55. docker build -t localbuild -f ${DOCKER_FILE} .
  56. docker run --rm -it -v $(pwd):/buildout localbuild
  57. fi
  58. if [[ "${TYPE}" == "rc" ]]; then
  59. sed -i \
  60. -e "/^boot_version/c\boot_version: \"${HARD_RC}\"" \
  61. -e "/^boot_domain/c\boot_domain: ${STAGING_URL}/rc" \
  62. user_overrides.yml
  63. docker build -t localbuild -f ${DOCKER_FILE} .
  64. docker run --rm -it -v $(pwd):/buildout localbuild
  65. fi
  66. mkdir -p s3out-latest
  67. cp -r buildout/* s3out-latest/
  68. fi