Merge branch '60-remove-ansible-and-terraform-installation-scripts-from-this-repository' into 'master'

Remove Ansible and Terraform custom installation scripts

Closes #60

See merge request gitlab-org/gitlab-build-images!371
This commit is contained in:
DJ Mountney 2021-02-22 17:29:54 +00:00
commit d2a6d209fe
6 changed files with 21 additions and 78 deletions

View file

@ -137,6 +137,7 @@ sitespeed-gitlab test: *test_build
ubi-release test: *test_build ubi-release test: *test_build
www-gitlab-com-2.7 test: *test_build www-gitlab-com-2.7 test: *test_build
build-git: *test_build build-git: *test_build
# Used by GitLab: https://gitlab.com/gitlab-org/gitlab/-/blob/13-8-stable-ee/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml
terraform test: *test_build terraform test: *test_build
# Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting
golangci-lint-alpine test: *test_build golangci-lint-alpine test: *test_build
@ -206,6 +207,7 @@ sitespeed-gitlab push: *build_and_deploy
ubi-release push: *build_and_deploy ubi-release push: *build_and_deploy
www-gitlab-com-2.7 push: *build_and_deploy www-gitlab-com-2.7 push: *build_and_deploy
build-git push: *build_and_deploy build-git push: *build_and_deploy
# Used by GitLab: https://gitlab.com/gitlab-org/gitlab/-/blob/13-8-stable-ee/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml
terraform push: *build_and_deploy terraform push: *build_and_deploy
# Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting
golangci-lint-alpine push: *build_and_deploy golangci-lint-alpine push: *build_and_deploy

View file

@ -57,17 +57,6 @@ ARG POSTGRES_VERSION
RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi
# Ansible
ARG ANSIBLE_VERSION
RUN if [ -n "$ANSIBLE_VERSION" ] ; then /scripts/install-ansible $ANSIBLE_VERSION; fi
# Terraform
ARG TERRAFORM_VERSION
ARG TERRAFORM_DOWNLOAD_SHA256
RUN if [ -n "$TERRAFORM_VERSION" ] ; then /scripts/install-terraform $TERRAFORM_VERSION $TERRAFORM_DOWNLOAD_SHA256; fi
# GraphicsMagick # GraphicsMagick
ARG GRAPHISMAGICK_VERSION ARG GRAPHISMAGICK_VERSION
ARG GRAPHISMAGICK_DOWNLOAD_URL=https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GRAPHISMAGICK_VERSION}/GraphicsMagick-${GRAPHISMAGICK_VERSION}.tar.gz ARG GRAPHISMAGICK_DOWNLOAD_URL=https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GRAPHISMAGICK_VERSION}/GraphicsMagick-${GRAPHISMAGICK_VERSION}.tar.gz
@ -100,8 +89,6 @@ ENV RUBY_VERSION=${RUBY_VERSION} \
GOLANG_VERSION=${INSTALL_GOLANG_VERSION} \ GOLANG_VERSION=${INSTALL_GOLANG_VERSION} \
LFS_VERSION=${LFS_VERSION} \ LFS_VERSION=${LFS_VERSION} \
POSTGRES_VERSION=${POSTGRES_VERSION} \ POSTGRES_VERSION=${POSTGRES_VERSION} \
ANSIBLE_VERSION=${ANSIBLE_VERSION} \
TERRAFORM_VERSION=${TERRAFORM_VERSION} \
GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \ GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \
DOCKER_VERSION=${DOCKER_VERSION} \ DOCKER_VERSION=${DOCKER_VERSION} \
PGBOUNCER_VERSION=${PGBOUNCER_VERSION} PGBOUNCER_VERSION=${PGBOUNCER_VERSION}

View file

@ -11,10 +11,10 @@ various parts of GitLab:
There are two methods to adding a new image: There are two methods to adding a new image:
1. Use a docker buildfile. 1. Use a Dockerfile.
1. Use a custom image with versioned features. 1. Use a custom image with versioned features.
### Use a docker buildfile ### Use a Dockerfile
A bespoke image is one that uses it's own Dockerfile. In the interests of A bespoke image is one that uses it's own Dockerfile. In the interests of
avoiding repetition, it's better to use the custom docker build if possible. avoiding repetition, it's better to use the custom docker build if possible.
@ -37,34 +37,35 @@ The name is defined as `[feature]-[version]` pairs, separated by `-`.
Here are some example build names: Here are some example build names:
1. `ruby-2.1-git-2.7` 1. `ruby-2.7-golang-1.15-git-2.29`
1. `ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6` 1. `ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34`
1. `ruby-2.4.1-golang-1.8-git-2.7-node-7.1-postgresql-9.6` 1. `ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34`
The first pair represents the base image and version. So `ruby-2.1-...` will use the `ruby:2.1` base image, while The first pair represents the base image and version. So `ruby-3.0-...` will use the `ruby:3.0` base image, while
`golang-1.8` will use the `golang:1.8` base image. `golang-1.15` will use the `golang:1.15` base image.
Each of the following parts represents another feature and version. Available Each of the following parts represents another feature and version. Available
options are: options are:
1. `golang`
1. `git`
1. `chrome` 1. `chrome`
1. `node` 1. `docker`
1. `yarn` 1. `git`
1. `postgres` 1. `golang`
1. `terraform`
1. `ansible`
1. `graphicsmagick` 1. `graphicsmagick`
1. `lfs`
1. `node`
1. `pgbouncer` 1. `pgbouncer`
1. `postgresql`
1. `ruby`
1. `yarn`
#### Adding a new build #### Adding a new build
As an example, if you want to add new image for Ruby 2.4 with `git` 2.14 and `golang` 1.9, As an example, if you want to add new image for Ruby 3.0 with `git` 2.29 and `golang` 1.15,
the name would be `ruby-2.4-golang-1.9-git-2.14`. the name would be `ruby-3.0-golang-1.15-git-2.29`.
1. Add a test task: `ruby-2.4-golang-1.9-git-2.14 test: *test_custom` 1. Add a test task: `ruby-3.0-golang-1.15-git-2.29 test: *test_custom`
1. Add a new build task: `ruby-2.4-golang-1.9-git-2.14: *build_and_deploy_custom` 1. Add a new build task: `ruby-3.0-golang-1.15-git-2.29 push: *build_and_deploy_custom`
#### Pushing a rebuild image #### Pushing a rebuild image

View file

@ -173,27 +173,10 @@ function print_postgres_args() {
printf -- "--build-arg POSTGRES_VERSION=%s " "$1" printf -- "--build-arg POSTGRES_VERSION=%s " "$1"
} }
function print_ansible_args() {
printf -- "--build-arg ANSIBLE_VERSION=%s " "$1"
}
function print_docker_args() { function print_docker_args() {
printf -- "--build-arg DOCKER_VERSION=%s " "$1" printf -- "--build-arg DOCKER_VERSION=%s " "$1"
} }
function print_terraform_args() {
case "$1" in
0.11)
TERRAFORM_VERSION=0.11.7
TERRAFORM_DOWNLOAD_SHA256=6b8ce67647a59b2a3f70199c304abca0ddec0e49fd060944c26f666298e23418
;;
*) echo "Unknown terraform version $1"; exit 1;
esac
printf -- "--build-arg TERRAFORM_VERSION=%s " "$TERRAFORM_VERSION"
printf -- "--build-arg TERRAFORM_DOWNLOAD_SHA256=%s " "$TERRAFORM_DOWNLOAD_SHA256"
}
function print_graphicsmagick_args() { function print_graphicsmagick_args() {
case "$1" in case "$1" in
1.3.29) 1.3.29)
@ -274,8 +257,6 @@ function parse_arguments() {
node) print_node_args $version ;; node) print_node_args $version ;;
yarn) print_yarn_args $version ;; yarn) print_yarn_args $version ;;
postgresql) print_postgres_args $version ;; postgresql) print_postgres_args $version ;;
ansible) print_ansible_args $version ;;
terraform) print_terraform_args $version ;;
graphicsmagick) print_graphicsmagick_args $version ;; graphicsmagick) print_graphicsmagick_args $version ;;
pgbouncer) print_pgbouncer_args $version ;; pgbouncer) print_pgbouncer_args $version ;;
*) exit 1;; *) exit 1;;

View file

@ -1,15 +0,0 @@
#!/bin/bash
set -xeou pipefail
ANSIBLE_VERSION=$1
apt-get update
apt-get install -y python-pip python-dev
pip install --no-cache-dir --upgrade cffi
pip install --no-cache-dir "ansible==${ANSIBLE_VERSION}"
apt-get autoremove -yq
apt-get clean -yqq
rm -rf /var/lib/apt/lists/*

View file

@ -1,13 +0,0 @@
#!/bin/bash
set -xeou pipefail
TERRAFORM_VERSION=${1}
TERRAFORM_DOWNLOAD_SHA256=${2}
TERRAFORM_DOWNLOAD_URL="https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip"
curl -fsSL "$TERRAFORM_DOWNLOAD_URL" -o terraform.zip
echo "${TERRAFORM_DOWNLOAD_SHA256} terraform.zip" | sha256sum -c -
unzip -d /usr/local/bin terraform.zip
rm terraform.zip