{ Community }
  • Academy
  • Docs
  • Developers
  • Resources
    • Community Articles
    • Apigee on GitHub
    • Code Samples
    • Videos & eBooks
    • Accelerator Methodology
  • Support
  • Ask a Question
  • Spaces
    • Product Announcements
    • General
    • Edge/API Management
    • Developer Portal (Drupal-based)
    • Developer Portal (Integrated)
    • API Design
    • APIM on Istio
    • Extensions
    • Business of APIs
    • Academy/Certification
    • Adapter for Envoy
    • Analytics
    • Events
    • Hybrid
    • Integration (AWS, PCF, Etc.)
    • Microgateway
    • Monetization
    • Private Cloud Deployment
    • 日本語コミュニティ
    • Insights
    • IoT Apigee Link
    • BaaS/Usergrid
    • BaaS Transition/Migration
    • Apigee-127
    • New Customers
    • Topics
    • Questions
    • Articles
    • Ideas
    • Leaderboard
    • Badges
  • Log in
  • Sign up

Get answers, ideas, and support from the Apigee Community

  • Home /
  • General /
avatar image
2
Question by Krish · Oct 24, 2018 at 07:30 PM · 470 Views maven deploy plugincicdgitjenkinsrepoother proxy

How to determine a particular proxy change in a Git repo with N number of proxies

Hi All,

I am setting up maven & jenkins for my organization. We are using Gitlab. We have one repository under which we have N number of proxies. As apigee maven plugin suggested, I have one shared-pom.xml in the repo and individual proxy specific pom.xml under each proxy.

I am able to deploy every proxy when I run the below maven command for proxy pom.xml

mvn install -Pdvl -Dusername=$ae_username -Dpassword=$ae_password -Dorg=dvl-myorg -Dapigee.config.options=create

Now, I want to achieve below.

  • Set up complete CI/CD process.
  • Make a change in on proxy and commit in Git
  • It should invoke the jenkins job
  • It will deploy the only proxy which is changed.
  • No other proxy will be touched.

I am having a hard time to find out which proxy is changed. Did anyone face this issue?

I don't want to create separate repo for every proxy I am building.

Comment
Add comment Show 2
10 |5000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by Apigeeks only
  • Viewable by the original poster
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Mohsin Khan · Jan 21, 2019 at 07:33 AM 0
Link

Even I have the same question, could you please help us, how to check new proxy has appeared in repository @Dino-at-Google @Sai Saran Vaidyanathan @Anil Sagar @ Google @Anil Sagar

avatar image Sanjeev Tyagi · Apr 06, 2020 at 05:17 PM 0
Link

Hi @Sai Saran Vaidyanathan@Anil Sagar @ Google@Anil Sagar @Krish / @Mohsin Khan

I am also having same scenario , do you have any suggestion to determine a which proxy change in a Git repo with N number of proxies and deploy only changed proxy using the jenkins.

Thanks in advance.

Close

1 Answer

  • Sort: 
avatar image
3

Answer by Sai Saran Vaidyanathan   · Jan 22, 2019 at 05:45 PM

Hi @Krish / @Mohsin Khan

In the samples, I don't think we recommended to have multiple proxies in the same repo. The structure was recommended to keep the main pom (shared-pom) out and just have the basic pom.xml in each apiproxy. I personally recommend having each proxy in a separate repo so that you don't have to get into this trouble (of finding which proxy within the repo changed and then just deploy that).

My options:

  1. See if you can split them into separate repos so that you have complete ease and control over the API, its SDLC and release mgmt process. With all that APIs in one repo, you will end up having issues down the line when you have more proxies. You can have the shared-pom in a completely different repo (maintained by your DevOps team). Your Jenkins job can checkout that and then the actual proxy to get all the necessary poms in your Jenkins workspace and then run the pom file. With this you have control over the code and its all using the same centralized shared-pom so that if that changes, every build automatically gets updated as well since they all point to the same repo for shared-pom
  2. Write a util script using git commands to get the list of files changed and then find the proxy which changed and then trigger Jenkins (paramterized build) with the necessary proxy name so that it deploys that alone. This gets a little tricky but if you cannot do option 1 above, then this is the only option.
Comment
Add comment Show 1 · Link
10 |5000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by Apigeeks only
  • Viewable by the original poster
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image maneesh m · Jun 30, 2019 at 03:03 AM 0
Link

Hi Sai,

I would like to implement option 1 for our setup. 1 repo for each proxy and 1 jenkins job to deploy any updated proxy repo to apigee. Could you please share the shared-pom.xml and pom.xml in each proxy repo?

Follow this Question

Answers Answers and Comments

48 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Automate bundle creation using openAPISpec + add necessary policies + push it to edge - cicd using Azure Devops 1 Answer

Separating proxy and config deployment using maven plugin 1 Answer

CICD Jenkins - Undeploy the revision to earlier deployed revision 3 Answers

Update git cloned files timestamp with git timestamp 3 Answers

does MAVEN Plugin supports replacing KVM content using config file 1 Answer

  • Products
    • Edge - APIs
    • Insights - Big Data
    • Plans
  • Developers
    • Overview
    • Documentation
  • Resources
    • Overview
    • Blog
    • Apigee Institute
    • Academy
    • Documentation
  • Company
    • Overview
    • Press
    • Customers
    • Partners
    • Team
    • Events
    • Careers
    • Contact Us
  • Support
    • Support Overview
    • Documentation
    • Status
    • Edge Support Portal
    • Privacy Policy
    • Terms & Conditions
© 2021 Apigee Corp. All rights reserved. - Apigee Community Terms of Use - Powered by AnswerHub
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Create an article
  • Post an idea
  • Spaces
  • Product Announcements
  • General
  • Edge/API Management
  • Developer Portal (Drupal-based)
  • Developer Portal (Integrated)
  • API Design
  • APIM on Istio
  • Extensions
  • Business of APIs
  • Academy/Certification
  • Adapter for Envoy
  • Analytics
  • Events
  • Hybrid
  • Integration (AWS, PCF, Etc.)
  • Microgateway
  • Monetization
  • Private Cloud Deployment
  • 日本語コミュニティ
  • Insights
  • IoT Apigee Link
  • BaaS/Usergrid
  • BaaS Transition/Migration
  • Apigee-127
  • New Customers
  • Explore
  • Topics
  • Questions
  • Articles
  • Ideas
  • Badges