Run integration test with ansible playbook using terraform provisioning Ok so I am totally new to devops! I am an experienced developer, but at my new job I have been tasked to automate CI/CD. Non-existing so far. Only CI with Travis.

So the ideal workflow is:
Push to CI -> build -> if successful provision an EC2 instance -> run integration tests 

Our ideal architecture is to use terraform for provisioning and ansible for automation/config management. Scenarios down the road foresee continuous deployment and more stuff. So I need to get the basic building blocks right. This workflow seems like a good start.

I've searched for tutorials all day and, being beginner, I am totally confused. 

As the goal is to fully automate the process, I am naively assuming that the ansible playbook would call a terraform provisioning role/task, and then continue by running all the steps for the integration tests.

But all I have found says to always run terraform init first and then terraform apply before switching to run a playbook, which seems cumbersome and not that "automated".

Can someone point me to a good resource describing how I can setup my desired workflow? Am I understanding things wrong?
You are right about Terraform having a plan-apply cycle which may not be that conducive to automation. The following has worked for me in similar situations:


Use Terraform to "develop" new versions of a base EC2 image. 
Use Ansible playbooks to provision EC2 instances off a specific version of the image and run tests on them.