mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-09 10:02:56 +01:00
Remove Ansible and Terraform custom installation scripts
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
This commit is contained in:
parent
523e78170f
commit
e7edcceefb
6 changed files with 21 additions and 78 deletions
|
|
@ -138,6 +138,7 @@ sitespeed-gitlab test: *test_build
|
|||
ubi-release test: *test_build
|
||||
www-gitlab-com-2.7 test: *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
|
||||
# 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
|
||||
|
|
@ -208,6 +209,7 @@ sitespeed-gitlab push: *build_and_deploy
|
|||
ubi-release push: *build_and_deploy
|
||||
www-gitlab-com-2.7 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
|
||||
# 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
|
||||
|
|
|
|||
|
|
@ -57,17 +57,6 @@ ARG POSTGRES_VERSION
|
|||
|
||||
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
|
||||
ARG GRAPHISMAGICK_VERSION
|
||||
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} \
|
||||
LFS_VERSION=${LFS_VERSION} \
|
||||
POSTGRES_VERSION=${POSTGRES_VERSION} \
|
||||
ANSIBLE_VERSION=${ANSIBLE_VERSION} \
|
||||
TERRAFORM_VERSION=${TERRAFORM_VERSION} \
|
||||
GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \
|
||||
DOCKER_VERSION=${DOCKER_VERSION} \
|
||||
PGBOUNCER_VERSION=${PGBOUNCER_VERSION}
|
||||
|
|
|
|||
37
README.md
37
README.md
|
|
@ -11,10 +11,10 @@ various parts of GitLab:
|
|||
|
||||
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.
|
||||
|
||||
### Use a docker buildfile
|
||||
### Use a Dockerfile
|
||||
|
||||
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.
|
||||
|
|
@ -37,34 +37,35 @@ The name is defined as `[feature]-[version]` pairs, separated by `-`.
|
|||
|
||||
Here are some example build names:
|
||||
|
||||
1. `ruby-2.1-git-2.7`
|
||||
1. `ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6`
|
||||
1. `ruby-2.4.1-golang-1.8-git-2.7-node-7.1-postgresql-9.6`
|
||||
1. `ruby-2.7-golang-1.15-git-2.29`
|
||||
1. `ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34`
|
||||
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
|
||||
`golang-1.8` will use the `golang:1.8` base image.
|
||||
The first pair represents the base image and version. So `ruby-3.0-...` will use the `ruby:3.0` base image, while
|
||||
`golang-1.15` will use the `golang:1.15` base image.
|
||||
|
||||
Each of the following parts represents another feature and version. Available
|
||||
options are:
|
||||
|
||||
1. `golang`
|
||||
1. `git`
|
||||
1. `chrome`
|
||||
1. `node`
|
||||
1. `yarn`
|
||||
1. `postgres`
|
||||
1. `terraform`
|
||||
1. `ansible`
|
||||
1. `docker`
|
||||
1. `git`
|
||||
1. `golang`
|
||||
1. `graphicsmagick`
|
||||
1. `lfs`
|
||||
1. `node`
|
||||
1. `pgbouncer`
|
||||
1. `postgresql`
|
||||
1. `ruby`
|
||||
1. `yarn`
|
||||
|
||||
#### 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,
|
||||
the name would be `ruby-2.4-golang-1.9-git-2.14`.
|
||||
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-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 new build task: `ruby-2.4-golang-1.9-git-2.14: *build_and_deploy_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-3.0-golang-1.15-git-2.29 push: *build_and_deploy_custom`
|
||||
|
||||
#### Pushing a rebuild image
|
||||
|
||||
|
|
|
|||
|
|
@ -173,27 +173,10 @@ function print_postgres_args() {
|
|||
printf -- "--build-arg POSTGRES_VERSION=%s " "$1"
|
||||
}
|
||||
|
||||
function print_ansible_args() {
|
||||
printf -- "--build-arg ANSIBLE_VERSION=%s " "$1"
|
||||
}
|
||||
|
||||
function print_docker_args() {
|
||||
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() {
|
||||
case "$1" in
|
||||
1.3.29)
|
||||
|
|
@ -274,8 +257,6 @@ function parse_arguments() {
|
|||
node) print_node_args $version ;;
|
||||
yarn) print_yarn_args $version ;;
|
||||
postgresql) print_postgres_args $version ;;
|
||||
ansible) print_ansible_args $version ;;
|
||||
terraform) print_terraform_args $version ;;
|
||||
graphicsmagick) print_graphicsmagick_args $version ;;
|
||||
pgbouncer) print_pgbouncer_args $version ;;
|
||||
*) exit 1;;
|
||||
|
|
|
|||
|
|
@ -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/*
|
||||
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue