This commit is contained in:
@@ -26,6 +26,10 @@ function statusTone(status: string): 'neutral' | 'green' | 'amber' | 'red' | 'bl
|
||||
return 'neutral';
|
||||
}
|
||||
|
||||
function environmentLabel(environment: string) {
|
||||
return environment === 'prod' ? '운영' : environment;
|
||||
}
|
||||
|
||||
type ImageTags = {
|
||||
images?: Record<string, string>;
|
||||
artifacts?: Record<string, string>;
|
||||
@@ -57,7 +61,6 @@ export function DeploymentManagementPage() {
|
||||
const [deployments, setDeployments] = useState<DeploymentJob[]>([]);
|
||||
const [releases, setReleases] = useState<AppRelease[]>([]);
|
||||
const [releaseId, setReleaseId] = useState('');
|
||||
const [environment, setEnvironment] = useState('dev');
|
||||
const [namespace, setNamespace] = useState('');
|
||||
const [updateLauncherAppVersion, setUpdateLauncherAppVersion] = useState(true);
|
||||
const [deployModalOpen, setDeployModalOpen] = useState(false);
|
||||
@@ -125,7 +128,7 @@ export function DeploymentManagementPage() {
|
||||
|
||||
const deploy = async () => {
|
||||
try {
|
||||
const result = await createDeployment({ releaseId, environment, namespace, updateLauncherAppVersion });
|
||||
const result = await createDeployment({ releaseId, environment: 'prod', namespace, updateLauncherAppVersion });
|
||||
toast({ type: 'success', message: '배포 작업이 실행되었습니다.' });
|
||||
setSelectedDeployment(result.deploymentJob);
|
||||
setDeployModalOpen(false);
|
||||
@@ -140,7 +143,7 @@ export function DeploymentManagementPage() {
|
||||
<PageTitle
|
||||
eyebrow="어플리케이션"
|
||||
title="배포 관리"
|
||||
description="생성된 릴리즈를 개발 또는 운영 환경에 배포하고 재배포와 롤백을 관리합니다."
|
||||
description="생성된 릴리즈를 운영 환경에 배포하고 재배포와 롤백을 관리합니다."
|
||||
actions={
|
||||
<Button className="h-8 px-3 text-[13px]" disabled={filteredReleases.length === 0} onClick={() => openDeployModal()}>
|
||||
<Plus className="size-4" />
|
||||
@@ -173,7 +176,7 @@ export function DeploymentManagementPage() {
|
||||
<span className="text-base font-medium">{deployment.release?.version || '-'}</span>
|
||||
</div>
|
||||
<div className="mt-3 flex flex-wrap gap-x-4 gap-y-1 text-xs">
|
||||
<span className="text-muted-foreground">환경 <b className="text-foreground">{deployment.environment}</b></span>
|
||||
<span className="text-muted-foreground">환경 <b className="text-foreground">{environmentLabel(deployment.environment)}</b></span>
|
||||
<span className="text-muted-foreground">네임스페이스 <b className="text-foreground">{deployment.namespace}</b></span>
|
||||
<span className="text-muted-foreground">요청자 <b className="text-foreground">{deployment.requestedBy || 'admin'}</b></span>
|
||||
<span className="text-muted-foreground">시작 <b className="text-foreground">{formatDate(deployment.startedAt || deployment.createdAt)}</b></span>
|
||||
@@ -268,10 +271,6 @@ export function DeploymentManagementPage() {
|
||||
<option value="">릴리즈 선택</option>
|
||||
{filteredReleases.map((release) => <option key={release.id} value={release.id}>{release.app.name} {release.version}</option>)}
|
||||
</select>
|
||||
<select className="h-9 w-full rounded-md border border-input bg-background px-3 text-sm outline-none" value={environment} onChange={(event) => setEnvironment(event.target.value)}>
|
||||
<option value="dev">개발</option>
|
||||
<option value="prod">운영</option>
|
||||
</select>
|
||||
<input className="h-9 w-full rounded-md border border-input bg-background px-3 text-sm outline-none" value={namespace} onChange={(event) => setNamespace(event.target.value)} placeholder="stdo-lms" />
|
||||
<label className="flex items-center gap-2 rounded-md border border-border bg-muted/20 px-3 py-2 text-sm text-foreground">
|
||||
<input
|
||||
|
||||
Reference in New Issue
Block a user