No, you can define jobs and stages. Stages run one after the others and all jobs inside the same stage will run in parallel, that's it, unless you start triggering remote jobs but then it becomes a lot let maintainable.
https://docs.gitlab.com/ee/ci/pipelines.html#pipeline-graphs