Commit 6e0eb41f authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'master' into 'master'

Update references to alpine-pkg-glibc version

See merge request !30
parents a87ce986 1f46db65
Pipeline #62414819 passed with stage
in 1 minute and 39 seconds
......@@ -2,10 +2,10 @@ FROM docker:dind
# Install requirements
RUN apk add -U openssl curl tar gzip bash ca-certificates && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.23-r3/glibc-2.23-r3.apk && \
apk add glibc-2.23-r3.apk && \
rm glibc-2.23-r3.apk
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.29-r0/glibc-2.29-r0.apk && \
apk add glibc-2.29-r0.apk && \
rm glibc-2.29-r0.apk
# Ruby is required for reading CI_ENVIRONMENT_URL from .gitlab-ci.yml
RUN apk add ruby git
......
## Kubernetes auto-deployments (EXPERIMENTAL)
This is repository that builds Docker Image with all scripts needed to
This is a repository that builds a Docker Image with all scripts needed to
deploy to Kubernetes from GitLab CI.
It is used to give the [GitLab Demo](https://about.gitlab.com/handbook/sales/demo/) which contains detailed instructions to reproduce.
It basically consist of two stages:
It basically consists of two stages:
1. Build stage where a Docker Image is built,
2. Deploy stage where a previously built Docker Image is run on Kubernetes and
exposed on hostname.
......@@ -13,7 +13,7 @@ It basically consist of two stages:
### Build stage
The build script does:
1. Check if the repository has `Dockerfile`,
1. Check if the repository has a `Dockerfile`,
2. If yes, use `docker build` to build Docker Image,
3. If no, use [herokuish](https://github.com/gliderlabs/herokuish) to build
and package a buildpack based application,
......@@ -23,9 +23,9 @@ The build script does:
### Deploy stage
The deploy script does:
1. Create a new namespace if does not exist already,
1. Deploy Postgres database with preconfigured username, password and database name,
1. Deploy an application with most recent Docker Image,
1. Create a new namespace if it does not exist already.
1. Deploy Postgres database with preconfigured username, password and database name.
1. Deploy an application with most recent Docker Image.
1. Create or update ingress to expose the application under hostname.
### PostgreSQL support
......@@ -36,15 +36,15 @@ of format: `postgres://user:password@postgres-host:postgres-port/postgres-databa
### Requirements
1. GitLab Runner using Docker or Kubernetes executor with privileged mode enabled,
2. Service account for existing Kubernetes cluster,
1. GitLab Runner using Docker or Kubernetes executor with privileged mode enabled.
2. Service account for existing Kubernetes cluster.
3. DNS wildcard domain to host deployed applications.
### Limitations
1. Public and private docker images can be deployed, but credentials are accessible during deployment,
1. There is no ability to pass environment variables to deployed application,
1. Provisioned database uses immutable storage: all data will be lost after container restart,
1. Public and private docker images can be deployed, but credentials are accessible during deployment.
1. There is no ability to pass environment variables to deployed application.
1. Provisioned database uses immutable storage: all data will be lost after container restart.
### Variables
......@@ -61,12 +61,12 @@ You can see existing working examples:
### How to contribute?
Simply fork this repository. As soon as you push your changes,
the new docker image with all scripts will be build.
the new docker image with all scripts will be built.
You can then start using your own docker image hosted on your Container Registry.
### How to use it?
Basically, configure Kubernetes Service in your project settings and
Basically, configure the Kubernetes Service in your project settings and
copy-paste [this `.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab-ci-yml/blob/master/autodeploy/Kubernetes.gitlab-ci.yml).
### Remarks
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment