포럼 한국어 번역 플러그인을 복구하고 배포 검사를 보강
비어 있던 운영 플러그인 경로를 전용 서비스 원본으로 복구했다. 음성 입장 안내와 주변 메뉴 및 관리자 번역을 실제 화면에서 확인했다. 관리자 주소용 내부 이름을 보존하고 보드 메뉴 두 곳의 제목을 복구했다. 검사: Ruby 문법과 YAML 11개 통과. 활성 번역 6004개와 음성 번역 561개 누락 0개. 일반 화면과 관리자 번역 및 보드 자산의 제공 해시를 확인했다. PC와 390픽셀 모바일 안내창 및 관리자 메뉴 주소를 확인했다. 운영: app 컨테이너만 갱신. DB 구조 변경과 데이터 이전 없음. 백업: /var/discourse/shared/standalone/backups/forum-korean-20261015-1150 설정 백업은 별도 비밀 디렉터리의 권한 600 파일로 보관했다. 제한: DB 복원 시험과 다음 컨테이너 재생성은 이번 검사에 포함하지 않았다. Trilium: Ubuntu 서버 운영 아래 Discourse 한국어 배포에 기록했다.
This commit is contained in:
Executable → Regular
+18
-12
@@ -1,20 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
root_dir="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
|
||||
container="${DISCOURSE_CONTAINER:-app}"
|
||||
site_url="${DISCOURSE_URL:-https://forum.itosm.co.kr}"
|
||||
plugin_path="/var/www/discourse/plugins/itosm-admin-korean"
|
||||
plugin_path="/var/www/discourse/plugins/itosm-korean-localization"
|
||||
report="$(mktemp)"
|
||||
trap 'rm -f "$report"' EXIT
|
||||
|
||||
docker inspect "$container" >/dev/null
|
||||
docker exec "$container" test -f "$plugin_path/plugin.rb"
|
||||
docker exec "$container" test -f "$plugin_path/config/locales/client.ko.yml"
|
||||
docker exec "$container" test -f "$plugin_path/config/locales/server.ko.yml"
|
||||
# 파일 존재뿐 아니라 저장소 원본과 실행 파일이 일치하는지 검사합니다.
|
||||
for file in plugin.rb config/locales/client.ko.yml config/locales/server.ko.yml; do
|
||||
expected="$(sha256sum "$root_dir/$file" | cut -d ' ' -f 1)"
|
||||
actual="$(docker exec "$container" sha256sum "$plugin_path/$file" | cut -d ' ' -f 1)"
|
||||
[[ "$expected" == "$actual" ]] || { echo "운영 파일 불일치: $file" >&2; exit 1; }
|
||||
done
|
||||
|
||||
status="$(curl --silent --show-error --output /dev/null --write-out '%{http_code}' "$site_url")"
|
||||
if [[ "$status" != "200" ]]; then
|
||||
echo "포럼 응답 확인 실패: HTTP $status" >&2
|
||||
exit 1
|
||||
docker exec -i -u discourse -e RAILS_ENV=production -w /var/www/discourse \
|
||||
"$container" bundle exec rails runner - < "$root_dir/scripts/verify_runtime.rb" > "$report"
|
||||
|
||||
if [[ "${1:-}" != "--runtime-only" ]]; then
|
||||
# 별도 Rails 검사와 실제 웹 프로세스가 제공하는 번역 묶음을 함께 대조합니다.
|
||||
# 재시작을 빠뜨려 예전 영어 번역을 계속 제공하는 경우도 실패로 처리합니다.
|
||||
ruby "$root_dir/scripts/verify_web.rb" "$site_url" "$report"
|
||||
fi
|
||||
|
||||
echo "운영 플러그인 파일 확인 완료"
|
||||
echo "포럼 응답 확인 완료: HTTP 200"
|
||||
echo "운영 파일과 한국어 번역 검사 통과"
|
||||
|
||||
Reference in New Issue
Block a user