Skip to content

Commit 86e6cbe

Browse files
committed
新增生产环境API和Cron部署脚本,并更新package.json以支持新命令
1 parent 211b77a commit 86e6cbe

4 files changed

Lines changed: 40 additions & 1 deletion

File tree

templates/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
"cron:stats": "sh scripts/docker-cron-stats.sh",
1212
"commit:main": "sh scripts/commit-develop-to-main.sh",
1313
"deploy:production": "sh scripts/deploy.sh production",
14+
"deploy:production:api": "sh scripts/deploy-api.sh production",
15+
"deploy:production:cron": "sh scripts/deploy-cron.sh production",
1416
"deploy:integration": "sh scripts/deploy.sh integration",
1517
"prepare": "npx husky",
1618
"preinstall": "npx only-allow pnpm"

templates/scripts/deploy-api.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env sh
2+
3+
set -ex
4+
5+
env="$1"
6+
project_name="{{projectName}}"
7+
docker_compose_file="docker-compose-$env.yml"
8+
9+
sudo docker build --tag "$project_name:$env" --file "Dockerfile.$env" .
10+
11+
api_service_name=api
12+
13+
sudo docker compose --file $docker_compose_file stop $api_service_name --timeout=1
14+
sudo docker compose --file $docker_compose_file up $api_service_name -d --timeout=1

templates/scripts/deploy-cron.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env sh
2+
3+
set -ex
4+
5+
env="$1"
6+
project_name="{{projectName}}"
7+
docker_compose_file="docker-compose-$env.yml"
8+
9+
sudo docker build --tag "$project_name:$env" --file "Dockerfile.$env" .
10+
11+
cron_service_name=cron
12+
if [ -n "$(sudo docker compose --file $docker_compose_file ps | { grep $cron_service_name || :; })" ]
13+
then
14+
# exit 137 SIGKILL
15+
{ sudo docker compose --file $docker_compose_file exec -it $cron_service_name /bin/sh -c "npx aomex cron:stop" || :; }
16+
# against restart=always
17+
sudo docker compose --file $docker_compose_file stop $cron_service_name --timeout=1
18+
fi
19+
20+
sudo docker compose --file $docker_compose_file up $cron_service_name -d --timeout=1

templates/scripts/deploy.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@ docker_compose_file="docker-compose-$env.yml"
88

99
sudo docker build --tag "$project_name:$env" --file "Dockerfile.$env" .
1010

11+
api_service_name=api
1112
cron_service_name=cron
13+
1214
if [ -n "$(sudo docker compose --file $docker_compose_file ps | { grep $cron_service_name || :; })" ]
1315
then
1416
# exit 137 SIGKILL
1517
{ sudo docker compose --file $docker_compose_file exec -it $cron_service_name /bin/sh -c "npx aomex cron:stop" || :; }
1618
# against restart=always
17-
sudo docker compose --file $docker_compose_file stop $cron_service_name -t=1
19+
sudo docker compose --file $docker_compose_file stop $cron_service_name --timeout=1
1820
fi
1921

22+
sudo docker compose --file $docker_compose_file stop $api_service_name --timeout=1
2023
sudo docker compose --file $docker_compose_file up -d --timeout=1 --remove-orphans

0 commit comments

Comments
 (0)