summaryrefslogtreecommitdiff
path: root/doc/ci/autodeploy/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ci/autodeploy/index.md')
-rw-r--r--doc/ci/autodeploy/index.md77
1 files changed, 3 insertions, 74 deletions
diff --git a/doc/ci/autodeploy/index.md b/doc/ci/autodeploy/index.md
index 5c9e11373a2..a128cf69c20 100644
--- a/doc/ci/autodeploy/index.md
+++ b/doc/ci/autodeploy/index.md
@@ -1,4 +1,4 @@
-# Auto deploy
+# Auto Deploy
>**Notes:**
- [Introduced][mr-8135] in GitLab 8.15.
@@ -20,8 +20,8 @@ example a database).
The Autodeploy templates are based on the [kubernetes-deploy][kube-deploy]
project which is used to simplify the deployment process to Kubernetes by
-providing intelligent `build`, `deploy` and `destroy` commands which you can
-use in your `.gitlab-ci.yml` as-is. It uses [Herokuish](https://github.com/gliderlabs/herokuish),
+providing intelligent `build`, `deploy`, and `destroy` commands which you can
+use in your `.gitlab-ci.yml` as is. It uses [Herokuish](https://github.com/gliderlabs/herokuish),
which uses [Heroku buildpacks](https://devcenter.heroku.com/articles/buildpacks)
to do some of the work, plus some of GitLab's own tools to package it all up. For
your convenience, a [Docker image][kube-image] is also provided.
@@ -61,77 +61,6 @@ To configure Autodeploy, you will need to:
1. Test your deployment configuration using a [Review App][review-app] that was
created automatically for you.
-## Using the Kubernetes deploy example project with Nginx
-
-A simple example would be the deployment of Nginx on Kubernetes.
-Consider a `nginx-deployment.yaml` file in your project with contents:
-
-```yaml
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: __CI_ENVIRONMENT_SLUG__
- labels:
- app: __CI_ENVIRONMENT_SLUG__
- track: stable
-spec:
- replicas: 3
- template:
- metadata:
- labels:
- app: __CI_ENVIRONMENT_SLUG__
- track: stable
- spec:
- containers:
- - name: nginx
- image: nginx:1.7.9
- ports:
- - containerPort: 80
-```
-
-The important part is where we set up `app: __CI_ENVIRONMENT_SLUG__`. As you'll
-see later this is replaced by the
-[`CI_ENVIRONMENT_SLUG` env variable](../variables/README.md#predefined-variables-environment-variables).
-
-The `.gitlab-ci.yml` would be:
-
-```yaml
-image: registry.gitlab.com/gitlab-examples/kubernetes-deploy
-
-stages:
- - deploy
-
-kubernetes deploy:
- stage: deploy
- environment:
- name: production
- script:
- - echo "$KUBE_CA_PEM" > kube_ca.pem
- - cat kube_ca.pem
- - kubectl config set-cluster default-cluster --server=$KUBE_URL --certificate-authority="$(pwd)/kube_ca.pem"
- - kubectl config set-credentials default-admin --token=$KUBE_TOKEN
- - kubectl config set-context default-system --cluster=default-cluster --user=default-admin --namespace $KUBE_NAMESPACE
- - kubectl config use-context default-system
-
- - sed -i "s/__CI_ENVIRONMENT_SLUG__/$CI_ENVIRONMENT_SLUG/" nginx-deployment.yaml
- - cat nginx-deployment.yaml
- - kubectl cluster-info
- - kubectl get deployments -l app=$CI_ENVIRONMENT_SLUG
- - kubectl create -f nginx-deployment.yaml || kubectl replace -f nginx-deployment.yaml
-```
-
-Notice that we use a couple of Kubernetes environment variables to configure
-the Kubernetes cluster. These are exposed from the
-[Kubernetes service](../../user/project/integrations/kubernetes.md#deployment-variables).
-The most important one is the `$KUBE_NAMESPACE` which should be unique for
-every project.
-
-Next, we replace `__CI_ENVIRONMENT_SLUG__` with the content of the
-`CI_ENVIRONMENT_SLUG` variable, so that the `app` label has the correct value.
-
-Finally, the Nginx pod is created from the definition of the
-`nginx-deployment.yaml` file.
-
## Private project support
> Experimental support [introduced][mr-2] in GitLab 9.1.