info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
# Tutorial: Use the GitLab UI to deploy your static site **(FREE)**
This tutorial assumes you have a project that either:
- Generates static sites or a client-rendered single-page application (SPA),
such as [Eleventy](https://www.11ty.dev), [Astro](https://astro.build), or [Jekyll](https://jekyllrb.com).
- Contains a framework configured for static output, such as [Next.js](https://nextjs.org),
[Nuxt.js](https://nuxtjs.org), or [SvelteKit](https://kit.svelte.dev).
## Update your app to output files to the `public` folder
GitLab Pages requires all files intended to be part of the published website to
be in a root-level folder called `public`. If you create this folder during the build
pipeline, committing it to Git is not required.
For detailed instructions, read [Configure the public files folder](../public_folder.md).
## Set up the `.gitlab-ci.yml` file
GitLab helps you write the `.gitlab-ci.yml` needed to create your first GitLab Pages
deployment pipeline. Rather than building the file from scratch, it asks you to
provide the build commands, and creates the necessary boilerplate for you.