fix: 운영 설정 배포와 탐색 UX 개선
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m9s
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m27s

This commit is contained in:
2026-06-27 21:41:53 +09:00
parent d58e524dfc
commit 0c49e12fa0
8 changed files with 21 additions and 27 deletions
+2 -16
View File
@@ -40,22 +40,8 @@ jobs:
echo "Missing TAXBAIK_JWT_SECRET_KEY secret" >&2
exit 1
fi
JWT_SECRET_KEY="$JWT_SECRET_KEY" python3 - <<'PY'
import json
import os
from pathlib import Path
config = {
"Jwt": {
"SecretKey": os.environ["JWT_SECRET_KEY"]
}
}
Path("./publish/appsettings.Production.json").write_text(
json.dumps(config, ensure_ascii=False, indent=2),
encoding="utf-8",
)
PY
JWT_SECRET_KEY="$JWT_SECRET_KEY" python3 -c 'import json, os, pathlib; pathlib.Path("./publish/appsettings.Production.json").write_text(json.dumps({"Jwt":{"SecretKey":os.environ["JWT_SECRET_KEY"]}}, ensure_ascii=False, indent=2), encoding="utf-8")'
test -s ./publish/appsettings.Production.json
- name: Copy migrations to publish
run: |
@@ -28,8 +28,8 @@
<td>@GetPreview(inquiry.Message)</td>
<td>@inquiry.CreatedAt.ToString("yyyy-MM-dd")</td>
<td>
<MudButton Size="Size.Small" Variant="Variant.Text"
Href="@($"/taxbaik/admin/inquiries/{inquiry.Id}")">상세</MudButton>
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Primary"
Href="@($"/taxbaik/admin/inquiries/{inquiry.Id}")">문의 내용 확인</MudButton>
</td>
</tr>
}
@@ -9,8 +9,11 @@
@if (inquiry != null)
{
<MudButton Variant="Variant.Text" @onclick="@(() => Navigation.NavigateTo("/taxbaik/admin/inquiries"))">
← 돌아가기
<MudButton Variant="Variant.Outlined"
Color="Color.Primary"
StartIcon="@Icons.Material.Filled.ArrowBack"
@onclick="@(() => Navigation.NavigateTo("/taxbaik/admin/inquiries"))">
문의 목록으로 돌아가기
</MudButton>
<MudPaper Class="pa-4 mt-4" Elevation="1">
@@ -18,9 +21,9 @@
<MudText Typo="Typo.h5">문의 상세</MudText>
<MudButton Variant="Variant.Filled"
Color="Color.Primary"
Href="/taxbaik/admin/inquiries"
Target="_blank">
문의 목록 열
StartIcon="@Icons.Material.Filled.List"
Href="/taxbaik/admin/inquiries">
다른 문의도 보
</MudButton>
</MudStack>
+1 -1
View File
@@ -26,7 +26,7 @@
<small class="badge bg-primary">@post.CategoryName</small>
<h5 class="card-title mt-2">@post.Title</h5>
<p class="card-text small">@post.CreatedAt.ToString("yyyy-MM-dd")</p>
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-primary">기</a>
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-primary">글 내용 보기</a>
</div>
</div>
</div>
+4
View File
@@ -20,6 +20,10 @@
</ol>
</nav>
<div class="mb-4">
<a href="/taxbaik/blog" class="btn btn-outline-primary btn-sm">← 블로그 목록으로 돌아가기</a>
</div>
@if (!string.IsNullOrEmpty(Model.Post.ThumbnailUrl))
{
<img src="@Model.Post.ThumbnailUrl" alt="@Model.Post.Title"
+1 -1
View File
@@ -201,7 +201,7 @@
<small class="badge bg-primary-badge">@post.CategoryName</small>
<h4 class="card-title mt-3">@post.Title</h4>
<p class="text-muted small">@post.CreatedAt.ToString("yyyy년 MM월 dd일")</p>
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-primary">기</a>
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-primary">글 내용 보기</a>
</div>
</div>
</div>
+1 -1
View File
@@ -5,7 +5,7 @@ const baseUrl = (process.env.E2E_BASE_URL ?? 'http://178.104.200.7/taxbaik').rep
test.describe('blog seo', () => {
test('exposes title description and canonical on blog detail pages', async ({ page }) => {
await page.goto(`${baseUrl}/blog`);
const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '기' }).first();
const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first();
await expect(firstPost).toBeVisible();
const detailHref = await firstPost.getAttribute('href');
expect(detailHref).toMatch(/^\/taxbaik\/blog\/[a-z0-9-]+$/);
+2 -1
View File
@@ -41,6 +41,7 @@ test.describe('inquiry detail', () => {
await expect(page.getByRole('button', { name: '신규' })).toBeVisible();
await expect(page.getByRole('button', { name: '연락함' })).toBeVisible();
await expect(page.getByRole('button', { name: '완료' })).toBeVisible();
await expect(page.getByRole('button', { name: '문의 목록기' })).toBeVisible();
await expect(page.getByRole('button', { name: '문의 목록으로 돌아가기' })).toBeVisible();
await expect(page.getByRole('link', { name: '다른 문의도 보기' })).toBeVisible();
});
});