Gitlab 을 위한 opentofu 도커 이미지 제작
Gitlab 에서 사용할 opentofu 도커 이미지를 제작해보자. Gitlab 에서 Auto DevOps 를 이용할 경우에 Docker 이미지를 이용해서 Terraform 빌드, 배포 하는게 가능하다. 지금은 Terraform 을 위한 Docker 이미지만 존재하는데, Opentofu 를 위한 도커 이미지를 제작해서 사용할 수 있도록 이미지를 만들어 보자.
Dockerfile
Docker 빌드를 위해서 Dockerfile 이 있어야 한다. 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
ARG BASE_IMAGE FROM $BASE_IMAGE RUN apk add --no-cache \ curl \ gcompat \ git \ idn2-utils \ jq \ openssh # Install tofu from the alpine registry and symlink to terraform (for the utility script) RUN apk add --no-cache opentofu --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing/ && \ ln -s "$(which tofu)" /usr/local/bin/terraform && \ terraform --version && \ tofu --version WORKDIR / COPY gitlab-terraform.sh /usr/bin/gitlab-terraform RUN chmod +x /usr/bin/gitlab-terraform # Override ENTRYPOINT ENTRYPOINT [] |
내용을 보면 gitlab-terraform.sh 스크립트 파일이 있어야 한다. 이 파일은 실제 Gitlab 을 이용해서 CI/CD 를 할 경우에 실제로 사용하게 되는 스크립트 파일이다.
Docker Build
Docker 빌드는 다음과 같은 명령어로 가능 하다.
1 2 |
]$ docker build --build-arg BASE_IMAGE=alpine:3.19.0 --build-arg TOFU_BINARY_VERION=1.6.0_rc1-r0 -f Dockerfile -t systemv/opentofu-images:1.6.0_rc1 . ]$ docker push systemv/opentofu-images:1.6.0_rc1 |
빌드를 하고 난 후에 Docker Hub 에 푸쉬를 해줬다.