fix: deployment

This commit is contained in:
Arman
2025-02-24 12:10:44 +01:00
parent 9d5e17c668
commit 579ed70057
7 changed files with 140 additions and 30 deletions
+1 -1
View File
@@ -23,7 +23,7 @@
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f0102c9f",
"@appwrite.io/pink-legacy": "^1.0.1",
"@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f7e429f",
"@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f99d781",
"@popperjs/core": "^2.11.8",
"@sentry/sveltekit": "^8.38.0",
"@stripe/stripe-js": "^3.5.0",
+9 -9
View File
@@ -21,8 +21,8 @@ importers:
specifier: ^1.0.1
version: 1.0.1
'@appwrite.io/pink-svelte':
specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f7e429f
version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f7e429f(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19)
specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f99d781
version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f99d781(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19)
'@popperjs/core':
specifier: ^2.11.8
version: 2.11.8
@@ -221,8 +221,8 @@ packages:
peerDependencies:
svelte: ^4.0.0
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f7e429f7c7be7210ce06603cbcaef09e7f9c2fdf':
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f7e429f7c7be7210ce06603cbcaef09e7f9c2fdf}
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f99d781924ba95e7ed83708ca8e4c26f80293c3c':
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f99d781924ba95e7ed83708ca8e4c26f80293c3c}
version: 1.0.0-next.7
peerDependencies:
svelte: ^4.0.0
@@ -236,8 +236,8 @@ packages:
'@appwrite.io/pink-legacy@1.0.1':
resolution: {integrity: sha512-e5IZx2drqSxgl2WXvmr0eLfg/WiOCzuqQE8oksD+9GoFBkcL9HWvXul5GjFni3RBAN9XFRL3nUExGk4T0H8sFw==}
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f7e429f':
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f7e429f}
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f99d781':
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f99d781}
version: 1.0.0-next.85
peerDependencies:
react-dom: ^18.0.0
@@ -4103,7 +4103,7 @@ snapshots:
dependencies:
svelte: 4.2.19
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f7e429f7c7be7210ce06603cbcaef09e7f9c2fdf(svelte@4.2.19)':
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f99d781924ba95e7ed83708ca8e4c26f80293c3c(svelte@4.2.19)':
dependencies:
svelte: 4.2.19
@@ -4116,9 +4116,9 @@ snapshots:
'@appwrite.io/pink-icons': 1.0.0
the-new-css-reset: 1.11.3
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f7e429f(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19)':
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@f99d781(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19)':
dependencies:
'@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f7e429f7c7be7210ce06603cbcaef09e7f9c2fdf(svelte@4.2.19)
'@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@f99d781924ba95e7ed83708ca8e4c26f80293c3c(svelte@4.2.19)
'@floating-ui/dom': 1.6.13
'@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.3(svelte@4.2.19))(svelte@4.2.19)
'@melt-ui/svelte': 0.86.3(svelte@4.2.19)
@@ -29,6 +29,7 @@
let selectedRepository = '';
let installations = { installations: [], total: 0 };
let hasInstallations = !!installations?.total;
let error = '';
onMount(async () => {
installations = await sdk.forProject.vcs.listInstallations();
@@ -54,18 +55,17 @@
repository.set(repo);
selectedRepository = repo.id;
}
console.log(Object.keys(Framework));
const s = await sdk.forProject.sites.update(
site.$id,
site.name,
Framework[site.framework],
site.framework as Framework,
site.enabled,
site.timeout,
site.installCommand,
site.buildCommand,
site.outputDirectory,
BuildRuntime[site.buildRuntime],
site.buildRuntime as BuildRuntime,
site.adapter,
site.fallbackFile,
selectedInstallationId,
@@ -79,20 +79,20 @@
type: 'success',
message: 'Repository connected successfully'
});
} catch (error) {
addNotification({
type: 'error',
message: error.message
});
} catch (e) {
error = e.message;
}
}
$: console.log(selectedInstallationId);
</script>
<Modal
title="Connect repository"
bind:show
hideFooter={!repositoryBehaviour}
onSubmit={connectRepo}>
onSubmit={connectRepo}
bind:error>
<span slot="description"> Connect to a new repository or an existing one. </span>
{#if hasInstallations}
<Layout.Stack gap="xl">
@@ -43,8 +43,9 @@
<svelte:fragment slot="footer">
<Button external href={`${$protocol}${data.deployment.domain}`}>Visit</Button>
<!-- TODO: disable when disabled={data.hasProdReadyDeployments} -->
<Button secondary on:click={() => (showRollback = true)}
>Instant rollback</Button>
<Button secondary on:click={() => (showRollback = true)}>
Instant rollback
</Button>
</svelte:fragment>
</SiteCard>
{:else if data.deployment?.status === 'building'}
@@ -61,11 +62,11 @@
{:else}
<Card.Base padding="none">
<Empty
title="No deployments found"
title="There is no active deployment"
src={$app.themeInUse === 'dark' ? EmptyDeploymentDark : EmptyDeploymentLight}>
<span slot="description">
You haven't deployed any sites yet. Get started by deploying your first
site.
Deploy your site to get started. Once deployed, you'll see your latest build
details here.
</span>
</Empty>
</Card.Base>
@@ -21,6 +21,7 @@
import { sdk } from '$lib/stores/sdk';
import { invalidate } from '$app/navigation';
import { Dependencies } from '$lib/constants';
import CreateCliModal from './createCliModal.svelte';
export let data;
@@ -208,3 +209,6 @@
{#if showConnectManual}
<CreateManualDeploymentModal bind:show={showConnectManual} site={data.site} />
{/if}
{#if showConnectCLI}
<CreateCliModal bind:show={showConnectCLI} site={data.site} />
{/if}
@@ -0,0 +1,103 @@
<script lang="ts">
import { Button } from '$lib/elements/forms';
import { Modal, Alert } from '$lib/components';
import { onMount } from 'svelte';
import { page } from '$app/stores';
import SecondaryTabs from '$lib/components/secondaryTabs.svelte';
import SecondaryTabsItem from '$lib/components/secondaryTabsItem.svelte';
import { Code, Layout, Tabs } from '@appwrite.io/pink-svelte';
export let show = false;
let lang = 'js';
let codeSnippets = {};
let os = 'unknown';
let category = 'Unix';
const siteId = $page.params.site;
codeSnippets = setCodeSnippets(lang);
onMount(() => {
// lang = setLanguage($func.runtime);
codeSnippets = setCodeSnippets(lang);
os = navigator['userAgentData']?.platform || navigator?.platform || 'unknown';
if (os.includes('Win')) {
category = 'CMD';
} else if (os.includes('Mac') || os.includes('Linux')) {
category = 'Unix';
} else {
category = 'Unix';
}
});
function setCodeSnippets(lang: string) {
return {
Unix: {
code: `appwrite functions createDeployment \\
--siteId=${siteId} \\
--entrypoint='index.${lang}' \\
--code="." \\
--activate=true`,
language: 'bash'
},
CMD: {
code: `appwrite functions createDeployment ^
--siteId=${siteId} ^
--entrypoint='index.${lang}' ^
--code="." ^
--activate=true`,
language: 'CMD'
},
PowerShell: {
code: `appwrite functions createDeployment ,
--siteId=${siteId} ,
--entrypoint='index.${lang}' ,
--code="." ,
--activate=true`,
language: 'PowerShell'
}
};
}
</script>
<Modal title="Create CLI deployment" bind:show hideFooter>
<span slot="description">
Deploy your site using the Appwrite CLI by running the following command inside your
function's folder.
</span>
<Layout.Stack gap="l">
<Layout.Stack gap="s">
<Tabs.Root let:root stretch>
{#each ['Unix', 'CMD', 'PowerShell'] as cat}
<Tabs.Item.Button
{root}
on:click={() => (category = cat)}
active={category === cat}>
{cat}
</Tabs.Item.Button>
{/each}
</Tabs.Root>
{#each ['Unix', 'CMD', 'PowerShell'] as cat}
{#if category === cat}
<Code hideHeader lang="sh" code={codeSnippets[cat].code} />
{/if}
{/each}
</Layout.Stack>
<Alert dismissible={false} type="warning">
If you did not create your site using the CLI, initialize your function by following our <a
href="https://appwrite.io/docs/tooling/command-line/installation"
target="_blank"
rel="noopener noreferrer"
class="link">documentation</a
>.
</Alert>
</Layout.Stack>
<svelte:fragment slot="footer">
<Button secondary on:click={() => (show = false)}>Close</Button>
</svelte:fragment>
</Modal>
@@ -50,12 +50,14 @@
unique domain.
</Typography.Caption>
</Layout.Stack>
<Button
secondary
size="xs"
href={`${base}/project-${$page.params.project}/sites/site-${$page.params.site}/domains/add-domain`}>
Add domain
</Button>
<div>
<Button
secondary
size="xs"
href={`${base}/project-${$page.params.project}/sites/site-${$page.params.site}/domains/add-domain`}>
Add domain
</Button>
</div>
</Layout.Stack>
{#if proxyRuleList?.rules?.length}
<Divider />