feat(项目部署): 自动化部署脚本
新增构建脚本: 1、编译基础镜像 2、生成Nacos配置 3、生成Nacos配置中心SQL文件 4、生成docker-compose编排文件 5、生成各服务dockerfile文件 关联Issue:https://www.gitlink.org.cn/Gitlink/forgeplus/issues/2853
This commit is contained in:
parent
d3fa736ab9
commit
8def58065e
|
|
@ -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
|
||||
|
||||
Loading…
Reference in New Issue