Commit 5041f9f2 authored by 赵啸非's avatar 赵啸非

修改部署脚本

parent 969a129b
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>setup-project-manager</artifactId>
<packaging>jar</packaging>
<description>应用工程部署平台</description>
<artifactId>setup-project-manager</artifactId>
<packaging>jar</packaging>
<description>应用工程部署平台</description>
<parent>
<groupId>com.mortals.xhx</groupId>
<artifactId>setup-project-platform</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<properties>
<common-lib.version>0.0.1-SNAPSHOT</common-lib.version>
<pcap4j.version>1.8.2</pcap4j.version>
<zxing.version>3.4.1</zxing.version>
<!-- 默认值 -->
<profiles.server.debug></profiles.server.debug>
<profiles.server.port>8081</profiles.server.port>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>info</profiles.log.level>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.filepath>/mortals/app/data</profiles.filepath>
<profiles.nacosUrl>http://127.0.0.1:8848</profiles.nacosUrl>
<profiles.server.debug>21568</profiles.server.debug>
</properties>
<profiles>
<profile>
<id>develop</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>develop</profiles.active>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://localhost:3306/setup-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
<profiles.datasource.username>root</profiles.datasource.username>
<profiles.datasource.password>12345678</profiles.datasource.password>
<profiles.publish.path>E:\pic\publish\</profiles.publish.path>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
<profiles.server.debug>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=25599</profiles.server.debug>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://192.168.0.98:3306/setup-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
<profiles.datasource.username>root</profiles.datasource.username>
<profiles.datasource.password>xhx@2022</profiles.datasource.password>
<profiles.publish.path>/home/publish/</profiles.publish.path>
</properties>
</profile>
<profile>
<id>product</id>
<properties>
<properties>
<common-lib.version>0.0.1-SNAPSHOT</common-lib.version>
<pcap4j.version>1.8.2</pcap4j.version>
<zxing.version>3.4.1</zxing.version>
<!-- 默认值 -->
<profiles.server.debug></profiles.server.debug>
<profiles.server.port>8081</profiles.server.port>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>info</profiles.log.level>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.filepath>/mortals/app/data</profiles.filepath>
<profiles.nacosUrl>http://127.0.0.1:8848</profiles.nacosUrl>
<profiles.server.debug></profiles.server.debug>
</properties>
</properties>
</profile>
</profiles>
<dependencies>
<profiles>
<profile>
<id>develop</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>develop</profiles.active>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://localhost:3306/setup-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
<profiles.datasource.username>root</profiles.datasource.username>
<profiles.datasource.password>12345678</profiles.datasource.password>
<profiles.publish.path>E:\pic\publish\</profiles.publish.path>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
<profiles.server.debug>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=25599
</profiles.server.debug>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://192.168.0.98:3306/setup-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
<profiles.datasource.username>root</profiles.datasource.username>
<profiles.datasource.password>xhx@2022</profiles.datasource.password>
<profiles.publish.path>/home/publish/</profiles.publish.path>
</properties>
</profile>
<profile>
<id>product</id>
<properties>
<profiles.active>test</profiles.active>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://127.0.0.1:3306/setup-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
<profiles.datasource.username>root</profiles.datasource.username>
<profiles.datasource.password>xhx@2022</profiles.datasource.password>
<profiles.publish.path>/home/publish/</profiles.publish.path>
</properties>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>com.mortals.xhx</groupId>
<artifactId>common-lib</artifactId>
</dependency>
<dependency>
<groupId>com.mortals.xhx</groupId>
<artifactId>common-lib</artifactId>
</dependency>
<!-- 引入 SpringMVC 相关依赖,并实现对其的自动配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入 SpringMVC 相关依赖,并实现对其的自动配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc</artifactId>
<scope>test</scope>
<version>2.3.0</version>
<exclusions>
<exclusion>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.thoughtworks.qdox/qdox -->
<dependency>
<groupId>com.thoughtworks.qdox</groupId>
<artifactId>qdox</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc</artifactId>
<scope>test</scope>
<version>2.3.0</version>
<exclusions>
<exclusion>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.thoughtworks.qdox/qdox -->
<dependency>
<groupId>com.thoughtworks.qdox</groupId>
<artifactId>qdox</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.github.jsonzou</groupId>
<artifactId>jmockdata</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.github.jsonzou</groupId>
<artifactId>jmockdata</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.4.2.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.4.2.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
......@@ -146,142 +152,142 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.12.0</version>
</dependency>
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.3.18</version>
<scope>provided</scope>
</dependency>-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
</dependency>
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.12.0</version>
</dependency>
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.3.18</version>
<scope>provided</scope>
</dependency>-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>5.2.2</version>
</dependency>
</dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests> <!--默认关掉单元测试 -->
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests> <!--默认关掉单元测试 -->
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<executions>
<execution>
<id>copy-bin</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>target/bin
</outputDirectory>
<resources>
<resource>
<directory>src/main/bin/</directory>
<excludes>
<exclude>deploy.sh</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<executions>
<execution>
<id>copy-bin</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>target/bin
</outputDirectory>
<resources>
<resource>
<directory>src/main/bin/</directory>
<excludes>
<exclude>deploy.sh</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-deploy</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${project.parent.basedir}/dist/${project.artifactId}/
</outputDirectory>
<resources>
<resource>
<directory>src/main/bin</directory>
<includes>
<include>deploy.sh</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<execution>
<id>copy-deploy</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${project.parent.basedir}/dist/${project.artifactId}/
</outputDirectory>
<resources>
<resource>
<directory>src/main/bin</directory>
<includes>
<include>deploy.sh</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>${project.artifactId}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>../assembly/assembly.xml</descriptor>
</descriptors>
<outputDirectory>${project.parent.basedir}/dist/${project.artifactId}</outputDirectory>
</configuration>
</execution>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>${project.artifactId}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>../assembly/assembly.xml</descriptor>
</descriptors>
<outputDirectory>${project.parent.basedir}/dist/${project.artifactId}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</executions>
</plugin>
</plugins>
</build>
</project>
......@@ -48,11 +48,13 @@ public class SetupDbServiceImpl implements SetupDbService {
druidDataSource.setPassword(dbSetupEntity.getPassword());
DruidPooledConnection connection = druidDataSource.getConnection();
createDatabase(connection, dbSetupEntity.getDbName());
connection.setCatalog(dbSetupEntity.getDbName());
FileSystemResource rc = new FileSystemResource(uploadService.getFilePath(dbSetupEntity.getDbFilePath()));
EncodedResource er = new EncodedResource(rc, "UTF-8");
ScriptUtils.executeSqlScript(connection, er);
boolean database = createDatabase(connection, dbSetupEntity.getDbName());
if(database){
connection.setCatalog(dbSetupEntity.getDbName());
FileSystemResource rc = new FileSystemResource(uploadService.getFilePath(dbSetupEntity.getDbFilePath()));
EncodedResource er = new EncodedResource(rc, "UTF-8");
ScriptUtils.executeSqlScript(connection, er);
}
} catch (Exception e) {
log.error("初始化数据库异常", e);
......
......@@ -53,7 +53,6 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
@Autowired
private UploadService uploadService;
@Autowired
private SetupDbService setupDbService;
......@@ -102,6 +101,7 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
dbSetupEntity.setUserName(setupProjectEntity.getDbUser());
dbSetupEntity.setPassword(setupProjectEntity.getDbPassword());
dbSetupEntity.setDbFilePath(publicPath + "/db/base.sql");
log.info("数据库db路径!{}", dbSetupEntity.getDbFilePath());
Rest<String> dbRest = setupDbService.initDb(dbSetupEntity);
if (YesNoEnum.YES.getValue() != dbRest.getCode()) {
log.info("数据库初始化成功!");
......@@ -113,13 +113,13 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
//判断当前系统类型,执行不同shell 或者 bat脚本
if(SystemUtil.getOsInfo().isLinux()){
if (SystemUtil.getOsInfo().isLinux()) {
//todo 执行部署脚本
//RuntimeUtil.exec()
log.info("执行deploy shell 脚本 或者构造文件");
// callScript("deploy.sh","4",publicPath+"/bin/");
}else if(SystemUtil.getOsInfo().isWindows()){
// callScript("deploy.sh","4",publicPath+"/bin/");
} else if (SystemUtil.getOsInfo().isWindows()) {
//todo
}
......@@ -217,12 +217,12 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
}
private void callScript(String script, String args, String... workspace){
private void callScript(String script, String args, String... workspace) {
try {
String cmd = "sh " + script + " " + args;
// String[] cmd = {"sh", script, "4"};
File dir = null;
if(workspace[0] != null){
if (workspace[0] != null) {
dir = new File(workspace[0]);
System.out.println(workspace[0]);
}
......@@ -235,14 +235,12 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
log.info(line);
}
input.close();
}
catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println(FileUtil.getSuffix("test.tar.gz"));
......
......@@ -322,7 +322,6 @@ setup_nginx() {
}
setup_font() {
writelog "字体安装..."
yum install -y fontconfig mkfontscale
......@@ -477,12 +476,19 @@ nacos_deploy() {
#todo 添加nginx 针对当前ip的sql stream代理
fi
#查看进程是否存在,如果存在 则不安装
project_status=$(systemctl status "${NACOS}" | grep Active | awk '{print $2}')
if [ -n "$project_status" ]; then
echo "NACOS项目已经安装,状态: $project_status"
#查看文件夹是否存在
if [ -d ${NACOS_EXECPATH} ]; then
writelog "NACOS项目已经安装!"
return
fi
#project_status=$(systemctl status "${NACOS}" | grep Active | awk '{print $2}')
# if [ -n "$project_status" ]; then
# echo "NACOS项目已经安装,状态: $project_status"
# return
# fi
rm -rf ${NACOS_SERVICE}
rm -rf ${NACOS_EXECPATH}
mkdir -p ${NACOS_EXECPATH}
......@@ -527,9 +533,14 @@ setup_project_deploy() {
build_nginx_mysql_stream $NGINX_CONF_PATH/mysql_stream.stream
fi
project_status=$(systemctl status "${SETUP_PROJECT_PLATFORM}" | grep Active | awk '{print $2}')
if [ -n "$project_status" ]; then
writelog "工程已经安装,状态: $project_status"
# project_status=$(systemctl status "${SETUP_PROJECT_PLATFORM}" | grep Active | awk '{print $2}')
# if [ -n "$project_status" ]; then
# writelog "工程已经安装,状态: $project_status"
# return
# fi
if [ -d ${SETUP_PROJECT_PLATFORM_EXECPATH} ]; then
writelog "项目部署工程已经安装!"
return
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment