How can caching and artifacts speed up Terragrunt on GitLab CI?

Using caching and artifacts in GitLab CI can significantly speed up the execution of Terragrunt by storing dependencies and intermediate results, thus reducing the time for future runs. Caching allows reusing files from previous jobs, whereas artifacts preserve files generated by a job for later use. Let's delve into a practical example of how to implement this in your .gitlab-ci.yml file.

stages: - init - plan - apply cache: paths: - .terragrunt-cache/ variables: TF_VAR_some_variable: "some_value" init: stage: init script: - terragrunt init artifacts: paths: - .terragrunt-cache/ plan: stage: plan script: - terragrunt plan dependencies: - init apply: stage: apply script: - terragrunt apply -auto-approve dependencies: - plan

Terragrunt GitLab CI caching artifacts DevOps CI/CD infrastructure as code speed up deployment