Skip to content
Snippets Groups Projects
Commit 7d1cbc34 authored by Josef Němec's avatar Josef Němec
Browse files

Merge branch 'fix/version-specific-terraform' into 'master'

Enable custom terraform version

See merge request !3
parents b1067214 5ad8e5f7
Branches master
No related tags found
1 merge request!3Enable custom terraform version
Pipeline #290700 skipped
stages: stages:
- build - build
docker-build: .compile-sources:
script: &compile-sources
- env GOOS=linux GOARCH=amd64 go build -o terraform-provider-openstack
- git clone --depth 1 --branch $TERRAFORM_VERSION https://github.com/hashicorp/terraform.git
- go env -w GOBIN="$(pwd)"/terraform
- cd terraform && go install && cd ..
.docker-build:
stage: build stage: build
image: registry.gitlab.ics.muni.cz:443/cloud/g2/container-registry/docker.io__debian:bullseye image: registry.gitlab.ics.muni.cz:443/cloud/g2/container-registry/docker.io__debian:latest
variables:
TERRAFORM_VERSION: v1.5.2 # Tag from Github https://github.com/hashicorp/terraform/tree/v1.5.2
before_script: before_script:
- apt-get update 1> /dev/null && apt-get install -y docker.io jq > install.log - apt-get update 1> /dev/null && apt-get install -y docker.io golang-go 1> dpkg-install.log
- service docker start && sleep 5s - service docker start
script:
- PROVIDER_VERSION="$(cat VERSION)" - PROVIDER_VERSION="$(cat VERSION)"
- TERRAFORM_VERSION="$(docker run hashicorp/terraform version -json | jq -r '.terraform_version')" script:
- *compile-sources
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker build --no-cache -t "$CI_REGISTRY_IMAGE:v$TERRAFORM_VERSION-$PROVIDER_VERSION" . - docker build -t "$CI_REGISTRY_IMAGE:$TERRAFORM_VERSION-$PROVIDER_VERSION" .
- docker push "$CI_REGISTRY_IMAGE:v$TERRAFORM_VERSION-$PROVIDER_VERSION" - docker push "$CI_REGISTRY_IMAGE:$TERRAFORM_VERSION-$PROVIDER_VERSION"
docker-build-tags:
extends: .docker-build
only: only:
- master - tags
docker-build-manual:
extends: .docker-build
when: manual
FROM ubuntu FROM ubuntu:jammy
RUN apt-get update 1> /dev/null && \ COPY terraform/terraform /usr/local/bin
apt-get install -y wget gpg lsb-release golang-go 1> /dev/null COPY terraform-provider-openstack .
RUN mkdir -p $HOME/.terraform.d/plugins/gitlab.ics.muni.cz/cloud/openstack/0.0.1/linux_amd64 && \
mv terraform-provider-openstack $HOME/.terraform.d/plugins/gitlab.ics.muni.cz/cloud/openstack/0.0.1/linux_amd64/terraform-provider-openstack
# Install terraform (+ get signature key for hashicorp) # Terraform autocomplete
RUN wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | tee /usr/share/keyrings/hashicorp-archive-keyring.gpg 1> /dev/null && \ RUN touch ~/.bashrc && terraform -install-autocomplete
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/hashicorp.list && \
apt update 1> /dev/null && apt install -y terraform 1> /dev/null
# Init custom-terraform-provider-openstack
WORKDIR /tmp/custom-terraform-provider-openstack
COPY . .
RUN env GOOS=linux GOARCH=amd64 go build -o $HOME/.terraform.d/plugins/gitlab.ics.muni.cz/cloud/openstack/0.0.1/linux_amd64/terraform-provider-openstack && \
terraform init
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment