> [Introduced][mr-8135] in GitLab 8.15. Currently requires a [Public project][project-settings].
> [Introduced][mr-8135] in GitLab 8.15.
> Auto deploy is an experimental feature and is not recommended for Production use at this time.
> As of GitLab 9.1, access to the container registry is only available while the Pipeline is running. Restarting a pod, scaling a service, or other actions which require on-going access will fail. On-going secure access is planned for a subsequent release.
Auto deploy is an easy way to configure GitLab CI for the deployment of your
application. GitLab Community maintains a list of `.gitlab-ci.yml`
...
...
@@ -15,7 +17,8 @@ deployment.
## Supported templates
The list of supported auto deploy templates is available [here][auto-deploy-templates].
The list of supported auto deploy templates is available in the
1. Test your deployment configuration using a [Review App][review-app] that was
created automatically for you.
## Private Project Support
> Experimental support [introduced][mr-2] in GitLab 9.1.
When a project has been marked as private, GitLab's [Container Registry][container-registry] requires authentication when downloading containers. Auto deploy will automatically provide the required authentication information to Kubernetes, allowing temporary access to the registry. Authentication credentials will be valid while the pipeline is running, allowing for a successful initial deployment.
After the pipeline completes, Kubernetes will no longer be able to access the container registry. Restarting a pod, scaling a service, or other actions which require on-going access to the registry will fail. On-going secure access is planned for a subsequent release.
## PostgreSQL Database Support
> Experimental support [introduced][mr-8] in GitLab 9.1.
In order to support applications that require a database, [PostgreSQL][postgresql] is provisioned by default. Credentials to access the database are preconfigured, but can be customized by setting the associated [variables](#postgresql-variables). These credentials can be used for defining a `DATABASE_URL` of the format: `postgres://user:password@postgres-host:postgres-port/postgres-database`. It is important to note that the database itself is temporary, and contents will be not be saved.
PostgreSQL provisioning can be disabled by setting the variable `DISABLE_POSTGRES` to `"yes"`.
### PostgreSQL Variables
1.`DISABLE_POSTGRES: "yes"`: disable automatic deployment of PostgreSQL
1.`POSTGRES_USER: "my-user"`: use custom username for PostgreSQL
1.`POSTGRES_PASSWORD: "password"`: use custom password for PostgreSQL
1.`POSTGRES_DB: "my database"`: use custom database name for PostgreSQL