diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 000000000..8b1e08bee --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,123 @@ +#!/bin/sh + +# 获取当前路径 +orgin_path=`pwd` +# 获取配置文件中的安装信息 +. ./config.ini + +# 使用说明,用来提示输入参数 +usage() { + echo "Usage: sh 执行脚本.sh [build_base_image|gen_nacos_config|gen_nacos_sql|gen_docker_compose|gen_dockerfile]" + exit 1 +} + +# 编译基础镜像 +build_base_image(){ + cd ${orgin_path}/gitlink/base + docker build -t gitlink-java:${base_image_version} . +} + +gen_nacos_config(){ + # 修改nacos配置 + cd ${orgin_path}/nacos/conf + # 删除历史配置文件 + rm -f application.properties + cp default_application.properties application.properties + # 替换配置 + sed -i "s|#nacos_db_url|${nacos_db_url}|g" application.properties + sed -i "s|#nacos_db_name|${nacos_db_name}|g" application.properties + sed -i "s|#nacos_db_username|${nacos_db_username}|g" application.properties + sed -i "s|#nacos_db_password|${nacos_db_password}|g" application.properties +} + +gen_nacos_sql(){ + # 修改nacos SQL + cd ${orgin_path}/nacos/sql + # 删除历史sql + rm -f gitlink-nacos-config.sql + cp default_gitlink-nacos-config.sql gitlink-nacos-config.sql + # 替换配置 + sed -i "s|#redis_ip|${redis_ip}|g" gitlink-nacos-config.sql + sed -i "s|#redis_port|${redis_port}|g" gitlink-nacos-config.sql + + sed -i "s|#db_url|${db_url}|g" gitlink-nacos-config.sql + sed -i "s|#db_name|${db_name}|g" gitlink-nacos-config.sql + sed -i "s|#db_username|${db_username}|g" gitlink-nacos-config.sql + sed -i "s|#db_password|${db_password}|g" gitlink-nacos-config.sql + + sed -i "s|#gitlink_db_url|${gitlink_db_url}|g" gitlink-nacos-config.sql + sed -i "s|#gitlink_db_name|${gitlink_db_name}|g" gitlink-nacos-config.sql + sed -i "s|#gitlink_db_username|${gitlink_db_username}|g" gitlink-nacos-config.sql + sed -i "s|#gitlink_db_password|${gitlink_db_password}|g" gitlink-nacos-config.sql + + sed -i "s|#file_url|${file_url}|g" gitlink-nacos-config.sql + sed -i "s|#file_path|${file_path}|g" gitlink-nacos-config.sql + + sed -i "s|#cms_summaryMaxLength|${cms_summaryMaxLength}|g" gitlink-nacos-config.sql + sed -i "s|#cms_gitLinkOrganization|${cms_gitLinkOrganization}|g" gitlink-nacos-config.sql + sed -i "s|#cms_gitLinkUrl|${cms_gitLinkUrl}|g" gitlink-nacos-config.sql +} + +gen_docker_compose(){ + # 替换docker-compose配置 + cd ${orgin_path} + # 删除历史docker-compose + rm -f docker-compose.yml + cp default_docker-compose.yml docker-compose.yml + sed -i "s|#docker_data|${docker_data}|g" docker-compose.yml + sed -i "s|#file_path|${file_path}|g" docker-compose.yml +} + +gen_dockerfile(){ + # 替换auth dockerfile配置 + cd ${orgin_path}/gitlink/auth + replace_dockerfile_config + # 替换gateway dockerfile配置 + cd ${orgin_path}/gitlink/gateway + replace_dockerfile_config + # 替换cms dockerfile配置 + cd ${orgin_path}/gitlink/modules/cms + replace_dockerfile_config + # 替换file dockerfile配置 + cd ${orgin_path}/gitlink/modules/file + replace_dockerfile_config + # 替换job dockerfile配置 + cd ${orgin_path}/gitlink/modules/job + replace_dockerfile_config + # 替换system dockerfile配置 + cd ${orgin_path}/gitlink/modules/system + replace_dockerfile_config +} + +replace_dockerfile_config(){ + # 删除历史docker-compose + rm -f dockerfile + cp default_dockerfile dockerfile + sed -i "s|#skywalking_backend_service|${skywalking_backend_service}|g" dockerfile + sed -i "s|#nacos_ip|${nacos_ip}|g" dockerfile + sed -i "s|#nacos_port|${nacos_port}|g" dockerfile + sed -i "s|#base_image_version|${base_image_version}|g" dockerfile +} + +# 根据输入参数,选择执行对应方法,不输入则执行使用说明 +case "$1" in +"build_base_image") + build_base_image +;; +"gen_nacos_sql") + gen_nacos_sql +;; +"gen_nacos_config") + gen_nacos_config +;; +"gen_docker_compose") + gen_docker_compose +;; +"gen_dockerfile") + gen_dockerfile +;; +*) + usage +;; +esac +