From aefaed4d90adce72250ea9023eb709c81e31cf30 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Fri, 15 Apr 2016 15:12:27 +0200 Subject: [PATCH] initial commit --- .gitlab-ci.yml | 22 ++++++++++++++++++++++ Dockerfile.omnibus-debian-jessie | 6 ++++++ Dockerfile.omnibus-debian-wheezy | 6 ++++++ Dockerfile.omnibus-raspbian-jessie | 6 ++++++ Dockerfile.omnibus-raspbian-wheezy | 6 ++++++ Dockerfile.ruby-2.1 | 7 +++++++ Dockerfile.ruby-2.2 | 7 +++++++ Dockerfile.ruby-2.3 | 7 +++++++ README.md | 3 +++ scripts/install-essentials | 15 +++++++++++++++ scripts/install-git | 15 +++++++++++++++ scripts/install-phantomjs | 6 ++++++ scripts/install-ruby | 14 ++++++++++++++ 13 files changed, 120 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile.omnibus-debian-jessie create mode 100644 Dockerfile.omnibus-debian-wheezy create mode 100644 Dockerfile.omnibus-raspbian-jessie create mode 100644 Dockerfile.omnibus-raspbian-wheezy create mode 100644 Dockerfile.ruby-2.1 create mode 100644 Dockerfile.ruby-2.2 create mode 100644 Dockerfile.ruby-2.3 create mode 100644 README.md create mode 100755 scripts/install-essentials create mode 100755 scripts/install-git create mode 100755 scripts/install-phantomjs create mode 100755 scripts/install-ruby diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..cbcf011 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,22 @@ +image: docker:latest + +variables: + REPOSITORY: gitlab/gitlab-build-images + +services: + - docker:dind + +.build_and_deploy: &build_and_deploy + stage: build + script: + - docker login -u "$DOCKER_LOGIN" -p "$DOCKER_PASSWORD" + - docker build -t "$REPOSITORY/$CI_BUILD_NAME" -f "Dockerfile.$CI_BUILD_NAME" . + - docker push "$REPOSITORY/$CI_BUILD_NAME" + +omnibus-debian-jessie: *build_and_deploy +omnibus-debian-wheezy: *build_and_deploy +omnibus-raspbian-jessie: *build_and_deploy +omnibus-raspbian-wheezy: *build_and_deploy +ruby-2.1: *build_and_deploy +ruby-2.2: *build_and_deploy +ruby-2.3: *build_and_deploy diff --git a/Dockerfile.omnibus-debian-jessie b/Dockerfile.omnibus-debian-jessie new file mode 100644 index 0000000..ffd8845 --- /dev/null +++ b/Dockerfile.omnibus-debian-jessie @@ -0,0 +1,6 @@ +FROM debian:jessie + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-git +RUN /scripts/install-ruby diff --git a/Dockerfile.omnibus-debian-wheezy b/Dockerfile.omnibus-debian-wheezy new file mode 100644 index 0000000..790f06a --- /dev/null +++ b/Dockerfile.omnibus-debian-wheezy @@ -0,0 +1,6 @@ +FROM debian:wheezy + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-git +RUN /scripts/install-ruby diff --git a/Dockerfile.omnibus-raspbian-jessie b/Dockerfile.omnibus-raspbian-jessie new file mode 100644 index 0000000..e544792 --- /dev/null +++ b/Dockerfile.omnibus-raspbian-jessie @@ -0,0 +1,6 @@ +FROM resin/rpi-raspbian:jessie + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-git +RUN /scripts/install-ruby diff --git a/Dockerfile.omnibus-raspbian-wheezy b/Dockerfile.omnibus-raspbian-wheezy new file mode 100644 index 0000000..100bd73 --- /dev/null +++ b/Dockerfile.omnibus-raspbian-wheezy @@ -0,0 +1,6 @@ +FROM resin/rpi-raspbian:wheezy + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-git +RUN /scripts/install-ruby diff --git a/Dockerfile.ruby-2.1 b/Dockerfile.ruby-2.1 new file mode 100644 index 0000000..4359a97 --- /dev/null +++ b/Dockerfile.ruby-2.1 @@ -0,0 +1,7 @@ +FROM ruby:2.1 + +ENV PACKAGES "git-core" + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-phantomjs diff --git a/Dockerfile.ruby-2.2 b/Dockerfile.ruby-2.2 new file mode 100644 index 0000000..1da95b4 --- /dev/null +++ b/Dockerfile.ruby-2.2 @@ -0,0 +1,7 @@ +FROM ruby:2.3 + +ENV PACKAGES "git-core" + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-phantomjs diff --git a/Dockerfile.ruby-2.3 b/Dockerfile.ruby-2.3 new file mode 100644 index 0000000..fc42a19 --- /dev/null +++ b/Dockerfile.ruby-2.3 @@ -0,0 +1,7 @@ +FROM ruby:2.2 + +ENV PACKAGES "git-core" + +ADD / / +RUN /scripts/install-essentials +RUN /scripts/install-phantomjs diff --git a/README.md b/README.md new file mode 100644 index 0000000..24e0c84 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +This repository is used to build docker images that are used to build and test various parts of GitLab: +1. Build Omnibus packages +2. Test GitLab-CE/EE repository diff --git a/scripts/install-essentials b/scripts/install-essentials new file mode 100755 index 0000000..2e53374 --- /dev/null +++ b/scripts/install-essentials @@ -0,0 +1,15 @@ +#!/bin/bash + +set -xeo pipefail + +apt-get update +apt-get install curl wget build-essential \ + libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \ + libncurses5-dev libffi-dev libgdbm3 libgdbm-dev \ + ca-certificates libyaml-dev checkinstall libxml2-dev \ + libxslt-dev libcurl4-openssl-dev libicu-dev \ + logrotate python-docutils pkg-config cmake nodejs \ + libkrb5-dev postgresql-client mysql-client unzip \ + $PACKAGES + +rm -rf /var/lib/apt/lists/* diff --git a/scripts/install-git b/scripts/install-git new file mode 100755 index 0000000..5a14926 --- /dev/null +++ b/scripts/install-git @@ -0,0 +1,15 @@ +#!/bin/bash + +set -xeo pipefail + +cd /tmp +wget https://www.kernel.org/pub/software/scm/git/git-2.7.4.tar.gz +echo '7104c4f5d948a75b499a954524cb281fe30c6649d8abe20982936f75ec1f275b git-2.7.4.tar.gz' | shasum -a256 -c - +tar -xzf git-2.7.4.tar.gz + +cd git-2.7.4/ +./configure +make prefix=/usr/local all + +cd / +rm -rf /tmp/* diff --git a/scripts/install-phantomjs b/scripts/install-phantomjs new file mode 100755 index 0000000..c37b192 --- /dev/null +++ b/scripts/install-phantomjs @@ -0,0 +1,6 @@ +#!/bin/bash + +set -xeo pipefail + +wget -q https://gitlab.com/axil/phantomjs-debian/raw/master/phantomjs_1.9.8-0jessie_amd64.deb +dpkg -i phantomjs_1.9.8-0jessie_amd64.deb diff --git a/scripts/install-ruby b/scripts/install-ruby new file mode 100755 index 0000000..3ebeaf3 --- /dev/null +++ b/scripts/install-ruby @@ -0,0 +1,14 @@ +#!/bin/bash + +set -xeo pipefail + +cd /tmp +wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz +tar -xvzf ruby-2.2.2.tar.gz + +cd ruby-2.2.2 +./configure --enable-shared --disable-install-doc --disable-install-rdoc --disable-install-capi +make install -j 3 + +cd / +rm -rf /tmp/*