As a DevOps Engineer, you are responsible for implementing a CI/CD pipeline that ensures the application's infrastructure, deployed on Google Cloud Platform (GCP), is defined as code and versioned in a Git repository. Which of the following tools and strategies should you adopt to achieve this goal?