-
Notifications
You must be signed in to change notification settings - Fork 5
87 lines (70 loc) · 2.42 KB
/
ProdServerDeploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: Prod Server Deploy
on:
push:
tags:
- '*'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: sudo apt-get update
- run: sudo apt-get install -y libkrb5-dev
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20
cache: npm
- name: Install node_modules
run: npm install
- name: Lint
run: npm run lint
- name: Test
run: npm run test
build:
needs: test
runs-on: wgd-prod
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20
cache: npm
- name: Build action runner
run: docker build -t "wgd-action-runner:prod" --build-arg "GIT_SHA=${GITHUB_SHA}" apps/wgd-action-runner
- name: Build hugo docs
run: |
docker run \
-v "${GITHUB_WORKSPACE}/hugo:/site" \
-v "${GITHUB_WORKSPACE}/website:/website" \
-v "/var/www/wikigdrive.com:/dist/hugo" \
--env CONFIG_TOML="/site/config/_default/config.toml" --env BASE_URL="https://wikigdrive.com" \
wgd-action-runner:prod /steps/step_render_hugo
- name: Copy index for vite
run: mkdir -p ${GITHUB_WORKSPACE}/dist/hugo && cp -rf /var/www/wikigdrive.com/* ${GITHUB_WORKSPACE}/dist/hugo
- uses: docker/build-push-action@v6
with:
tags: "wikigdrive-prod:${{ github.sha }},wikigdrive-prod:latest"
push: false
build-args: "{'--build-arg': 'GIT_SHA=${{ github.sha }}'}"
- name: Stop and remove
run: docker stop wikigdrive-prod ; docker rm wikigdrive-prod
continue-on-error: true
- name: Start
run: |
docker run -d --name wikigdrive-prod \
--tmpfs /tmp \
-v wikiGDriveProd:/data \
-v /home/wikigdrive/service_account.json:/service_account.json \
-v /home/wikigdrive/env.prod:/usr/src/app/.env \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "/var/www/wikigdrive.com:/usr/src/app/dist/hugo" \
-e "GIT_SHA=${GITHUB_SHA}" \
--publish 127.0.0.1:3000:3000 \
--restart unless-stopped \
"wikigdrive-prod:${GITHUB_SHA}" wikigdrive \
--service_account /service_account.json \
--share_email mie-docs-wikigdrive@wikigdrive.iam.gserviceaccount.com \
--workdir /data \
server 3000