This commit is contained in:
@@ -51,6 +51,15 @@ function firstArtifact(release: AppRelease) {
|
|||||||
return artifacts[0]?.[1] ?? release.artifact ?? '-';
|
return artifacts[0]?.[1] ?? release.artifact ?? '-';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hasDeployableImage(release: AppRelease) {
|
||||||
|
const imageTags = release.imageTags as ImageTags | null | undefined;
|
||||||
|
return Object.values(imageTags?.images ?? {}).some((image) => (
|
||||||
|
typeof image === 'string'
|
||||||
|
&& image.trim()
|
||||||
|
&& !/^(postgres|mysql|mariadb|mongo)(:|@)/i.test(image.trim())
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
function deploymentTime(deployment: DeploymentJob) {
|
function deploymentTime(deployment: DeploymentJob) {
|
||||||
const value = new Date(deployment.createdAt || deployment.startedAt || deployment.finishedAt || 0).getTime();
|
const value = new Date(deployment.createdAt || deployment.startedAt || deployment.finishedAt || 0).getTime();
|
||||||
return Number.isNaN(value) ? 0 : value;
|
return Number.isNaN(value) ? 0 : value;
|
||||||
@@ -107,7 +116,9 @@ export function DeploymentManagementPage() {
|
|||||||
[deployedReleaseIdValues]
|
[deployedReleaseIdValues]
|
||||||
);
|
);
|
||||||
const deployableReleases = useMemo(
|
const deployableReleases = useMemo(
|
||||||
() => filteredReleases.filter((release) => !deployedReleaseIds.has(release.id)),
|
() => filteredReleases.filter((release) => (
|
||||||
|
!deployedReleaseIds.has(release.id) && hasDeployableImage(release)
|
||||||
|
)),
|
||||||
[filteredReleases, deployedReleaseIds]
|
[filteredReleases, deployedReleaseIds]
|
||||||
);
|
);
|
||||||
const filteredDeployments = useMemo(
|
const filteredDeployments = useMemo(
|
||||||
@@ -335,7 +346,7 @@ export function DeploymentManagementPage() {
|
|||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
<Card className="min-w-0 overflow-hidden">
|
<Card className="min-w-0 overflow-hidden">
|
||||||
<CardHeader title="배포 가능 릴리즈" description="아직 성공 배포되지 않은 릴리즈만 표시합니다." />
|
<CardHeader title="배포 가능 릴리즈" description="컨테이너 이미지가 있고 아직 성공 배포되지 않은 릴리즈만 표시합니다." />
|
||||||
<div className="space-y-3 p-4">
|
<div className="space-y-3 p-4">
|
||||||
{deployableCards.length === 0 ? (
|
{deployableCards.length === 0 ? (
|
||||||
<div className="rounded-md border border-border px-3 py-4 text-center text-sm text-muted-foreground">
|
<div className="rounded-md border border-border px-3 py-4 text-center text-sm text-muted-foreground">
|
||||||
|
|||||||
Reference in New Issue
Block a user