From 760af5abba6e6f6f5c16f239ececa5d7d29b1fdc Mon Sep 17 00:00:00 2001 From: Kaiser-Yang <624626089@qq.com> Date: Thu, 1 Aug 2024 17:23:06 +0800 Subject: [PATCH] Add document for the configuration of deployment This solved #19. --- README-zh.md | 29 +++++++++++++++++++++++++++++ config_debug.json | 2 +- config_default.json | 4 ++-- script/deploy_helper.py | 22 +++++++++++----------- 4 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 README-zh.md diff --git a/README-zh.md b/README-zh.md new file mode 100644 index 0000000..43bd20c --- /dev/null +++ b/README-zh.md @@ -0,0 +1,29 @@ +# gcs-back-end +`git`中央仓库服务的后端实现。 + +# 部署设置说明 +| 变量 | 类型 | 默认值 | 说明 | +| - | - | - | - | +| `deploy` | `bool` | `true` | 是否进行部署,当为`false`只进行打包操作。 | +| `debug` | `bool` | `false` | 是否启用调试模式。 | +| `skipTest` | `bool` | `true` | 是否跳过测试。 | +| `createGitUser` | `bool` | `true` | 是否创建`git`用户。 | +| `deployWithDocker` | `bool` | `true` | 是否使用`Docker`进行部署。 | +| `repositoryDirectory` | `string` | `"/home/git/repositories"` | `git`仓库存放目录。 | +| `postgresPassword` | `string` | `null` | `Postgres`数据库密码。 | +| `serviceEnable` | `bool` | `true` | 是否启用`systemd`服务。 | +| `serviceName` | `string` | `"gcs"` | `systemd`服务名称。 | +| `serviceSuffix` | `string` | `"service"` | `systemd`服务文件后缀。 | +| `serviceDescription` | `string` | `"Git server center back-end service"` | `systemd`服务描述。 | +| `servicePIDFile` | `string` | `"/var/run/gcs.pid"` | `systemd`服务`PID`文件。 | +| `serviceUser` | `string` | `gcs` | `systemd`服务运行用户。 | +| `serviceUserPassword` | `string` | `null` | `systemd`服务运行用户密码。 | +| `serviceWorkingDirectory` | `string` | `"/opt/gcs"` | `systemd`服务工作目录。 | +| `serviceRestartPolicy` | `string` | `"always"` | `systemd`服务重启策略。 | +| `serviceRestartDelaySeconds` | `int` | `5` | `systemd`服务重启延迟时间。 | +| `serviceStartJavaCommand` | `string` | `"/usr/bin/java"` | `systemd`服务启动`Java`命令。 | +| `serviceStartJavaArgs` | `list` | `["-jar"]` | `systemd`服务启动`Java`参数。 | +| `serviceStartJarFile` | `string` | `"/opt/gcs/gcs.jar"` | `systemd`服务启动`Jar`文件。脚本会将`maven`打包出来的文件拷贝到该位置。 | +| `serviceAfter` | `list` | `["network.target"]` | `systemd`服务会在这些服务启动后启动。 | +| `serviceWantedBy` | `list` | `"multi-user.target"` | `systemd`服务会被这些服务依赖。 | + diff --git a/config_debug.json b/config_debug.json index ecf04f1..03c974a 100644 --- a/config_debug.json +++ b/config_debug.json @@ -3,5 +3,5 @@ "deployWithDocker": false, "repositoryDirectory": "~/.local/gcs/repository", "debug": true, - "runTest": true + "skipTest": false } diff --git a/config_default.json b/config_default.json index 7326e02..63379a2 100644 --- a/config_default.json +++ b/config_default.json @@ -1,7 +1,7 @@ { "deploy": true, "debug": false, - "runTest": false, + "skipTest": true, "createGitUser": true, "deployWithDocker": true, "repositoryDirectory": "/home/git/repositories", @@ -15,7 +15,7 @@ "serviceUserPassword": null, "serviceWorkingDirectory": "/opt/gcs", "serviceRestartPolicy": "always", - "serviceRestartDelaySecond": 5, + "serviceRestartDelaySeconds": 5, "serviceStartJavaCommand": "/usr/bin/java", "serviceStartJavaArgs": [ "-jar" diff --git a/script/deploy_helper.py b/script/deploy_helper.py index b833ecb..3a697d8 100644 --- a/script/deploy_helper.py +++ b/script/deploy_helper.py @@ -57,7 +57,7 @@ def create_systemd_service(config): User={config.serviceUser} WorkingDirectory={config.serviceWorkingDirectory} Restart={config.serviceRestartPolicy} -RestartSec={config.serviceRestartDelaySecond} +RestartSec={config.serviceRestartDelaySeconds} ExecStart={exec_start} [Install] @@ -74,18 +74,18 @@ def deploy_on_ubuntu(config): if config == None: return -1 skip_test = "" - if not config.runTest: + if config.skipTest: skip_test = "-Dmaven.test.skip=true" - if config.deploy: - res = subprocess.run('bash script/get_jar_position.sh', shell=True, - capture_output=True, text=True) - if res.returncode != 0: - return res.returncode - package_path = res.stdout.strip() - res = os.system(f'mvn package {skip_test}') - if res != 0: - return res + res = subprocess.run('bash script/get_jar_position.sh', shell=True, + capture_output=True, text=True) + if res.returncode != 0: + return res.returncode + package_path = res.stdout.strip() + res = os.system(f'mvn package {skip_test}') + if res != 0: + return res + if config.deploy: if os.system(f"cat /etc/passwd | grep -w -E '^{config.serviceUser}'") != 0: os.system(f'sudo useradd {config.serviceUser}') if config.serviceUserPassword == None or config.serviceUserPassword == "":