大家前期可能在部署时使用测试域名或者使用的是IP地址,为了方便大家进行域名替换,写了如下脚本.使用过程中注意,如有使用访问IP与内部IP一样的,该脚本可能导致异常

    1. #!/bin/bash
    2. #
    3. ####################################
    4. #
    5. # author:Daoge
    6. # description: 为opsany替换域名
    7. # version: v1.1
    8. #
    9. #####################################
    10. #设置旧域名
    11. OLD_DOMAIN_NAME=""
    12. #设置新域名
    13. NEW_DOMAIN_NAME=""
    14. if [ -z "${OLD_DOMAIN_NAME}" -o -z "${NEW_DOMAIN_NAME}" ];then
    15. echo "Please enter domain name"
    16. exit 1
    17. fi
    18. SHELL_NAME=$(basename $0)
    19. SHELL_LOG=${SHELL_NAME}.log
    20. shell_log(){
    21. info="$1"
    22. CTIME=$(date '+%F %T')
    23. echo "============[${CTIME}] ${info}================="
    24. echo "[${CTIME}] ${info}" >> ${SHELL_LOG}
    25. }
    26. # 引入安装环境变量
    27. cd /opt/opsany-paas/install
    28. grep '^[A-Z]' install.config > install.env
    29. source ./install.env && rm -f install.env
    30. shell_log "Replace PaaS config files"
    31. # 替换默认安装文件中的配置
    32. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/cmdb/toolkit/configs.py
    33. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/control/toolkit/configs.py
    34. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/rbac/toolkit/configs.py
    35. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/task/toolkit/configs.py
    36. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/workbench/toolkit/configs.py
    37. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/monitor/toolkit/configs.py
    38. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/cmp/toolkit/configs.py
    39. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/devops/toolkit/configs.py
    40. sed -i "s/${OLD_DOMAIN_NAME}/${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/esb/apis/bastion/toolkit/configs.py
    41. # 替换环境配置文件
    42. sed -i -e "s|\(PAAS_DOMAIN = '\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" \
    43. -e "s|\(BK_COOKIE_DOMAIN = '\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" \
    44. ${INSTALL_PATH}/conf/settings_production.py.paas
    45. sed -i "s|\(BK_COOKIE_DOMAIN = '\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/conf/settings_production.py.login
    46. # 替换nginx配置文件
    47. echo "替换nginx域名,替换后如无法访问,请自行检查nginx配置"
    48. sed -i "s/server_name.*${OLD_DOMAIN_NAME}/server_name ${NEW_DOMAIN_NAME}/g" ${INSTALL_PATH}/conf/nginx-conf.d/nginx_paas.conf
    49. shell_log "Replace SaaS config files"
    50. # 替换已经安装的saas服务域名(可采用重新部署)
    51. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/rbac/conf/supervisord.conf
    52. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/workbench/conf/supervisord.conf
    53. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/cmdb/conf/supervisord.conf
    54. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/control/conf/supervisord.conf
    55. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/job/conf/supervisord.conf
    56. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/cmp/conf/supervisord.conf
    57. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/devops/conf/supervisord.conf
    58. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/monitor/conf/supervisord.conf
    59. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/bastion/conf/supervisord.conf
    60. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/pipeline/conf/supervisord.conf
    61. sed -i "s|\(BK_PAAS_HOST=\"https://\)${OLD_DOMAIN_NAME}|\1${NEW_DOMAIN_NAME}|g" ${INSTALL_PATH}/saas/apps/projects/deploy/conf/supervisord.conf
    62. #重启Paas
    63. docker ps -q | xargs docker restart
    64. #重启Saas
    65. cd /opt/opsany-paas/install
    66. ./saas-restart.sh