# Apigee deployment using Gitlab

**URL:** <https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010>\
**Category:** Apigee\
**Tags:** api-runtime\
**Created:** [March 28, 2019, 1:19pm UTC](https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010 "2019-03-28T13:19:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymous8](https://avatars.discourse-cdn.com/v4/letter/a/7cd45c/32.png) [@anonymous8](https://discuss.google.dev/u/anonymous8)\
**Post date:** [March 28, 2019, 1:19pm UTC](https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010/1 "2019-03-28T13:19:58Z")

</div>

Hi All,

I have a requirement in the project to establish CI/CD using gitlab.I am aware of CI/CD using github and Jenkins but need suggestion on how do I use gitlab for CI/CD.

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![anonymous8](https://avatars.discourse-cdn.com/v4/letter/a/7cd45c/32.png) [@anonymous8](https://discuss.google.dev/u/anonymous8)\
**Post date:** [March 28, 2019, 1:21pm UTC](https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010/2 "2019-03-28T13:21:04Z")

</div>

[@Dino](https://community.apigee.com/users/803/dchiesa.html)

please suggest

---

<div class="post-metadata">

**Author:** ![anonymous8](https://avatars.discourse-cdn.com/v4/letter/a/7cd45c/32.png) [@anonymous8](https://discuss.google.dev/u/anonymous8)\
**Post date:** [March 28, 2019, 1:30pm UTC](https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010/3 "2019-03-28T13:30:51Z")

</div>

From CI/CD perspective, there is no difference between Jenkins or Gitlab CI.

Both can invoke maven goal.

[https://docs.gitlab.com/ee/ci/examples/artifactory\_and\_gitlab/index.html](https://docs.gitlab.com/ee/ci/examples/artifactory_and_gitlab/index.html)

You can use same pom.xml file that you are using with Jenkins.

---

<div class="post-metadata">

**Author:** ![optimism](https://d3byx8b92xw3lq.cloudfront.net/user_avatar/discuss.google.dev/optimism/32/58479_2.png) [@optimism](https://discuss.google.dev/u/optimism)\
**Post date:** [September 8, 2021, 7:07am UTC](https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010/4 "2021-09-08T07:07:08Z")

</div>

Hi, @sonal\_sheetal

GitLab is basically an all-in-one DevOps solution.

The central default CI file is .gitlab-ci.yml - [https://docs.gitlab.com/ee/ci/yaml/](https://docs.gitlab.com/ee/ci/yaml/)

For the proxy, deployments look into - [https://github.com/apigee/apigee-deploy-maven-plugin](https://github.com/apigee/apigee-deploy-maven-plugin)

e.g.: your .gitlab-ci.yml content would look like the following:

```markup
stages:
  - deploy
deploy:
  image: maven:latest
  stage: deploy
  script:
    - mvn install -P %put here maven profile name% -X

```

---

<div class="post-metadata">

**Author:** ![ssvaidyanathan](https://d3byx8b92xw3lq.cloudfront.net/user_avatar/discuss.google.dev/ssvaidyanathan/32/52045_2.png) [@ssvaidyanathan](https://discuss.google.dev/u/ssvaidyanathan)\
**Post date:** [September 8, 2021, 7:14pm UTC](https://discuss.google.dev/t/apigee-deployment-using-gitlab/14010/5 "2021-09-08T19:14:17Z")

</div>

Yes as @optimism mentioned, you just use the Gitlab runner to orchestrate the Maven call. I dont have a Gitlab sample, you can use [this Jenkinsfile](https://github.com/ssvaidyanathan/apigee-hybrid-ci-cd/blob/master/Jenkinsfile) as an example and build it for Gitlab
