{ Community }
  • Academy
  • Docs
  • Developers
  • Resources
    • Community Articles
    • Apigee on GitHub
    • Code Samples
    • Videos & eBooks
    • Accelerator Methodology
  • Support
  • Ask a Question
  • Spaces
    • General
    • Edge/API Management
    • Developer Portal
    • API Design
    • APIM on Istio
    • Extensions
    • Business of APIs
    • Academy/Certification
    • Analytics
    • Events
    • 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
1
Question by Krish · Oct 24, 2018 at 07:30 PM · 71 Views jenkinsgitrepomaven deploy plugincicdother 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 1
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 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

Close

1 Answer

· Add your answer
  • Sort: 
avatar image
2

Answer by Sai Saran Vaidyanathan   · Jan 22 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 · 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

Your answer

Hint: You can notify a user about this post by typing @username

Up to 5 attachments (including images) can be used with a maximum of 5.0 MB each and 25.0 MB total.

Follow this Question

Answers Answers and Comments

46 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

Related Questions

Update git cloned files timestamp with git timestamp 3 Answers

Maven plugin for Proxy deployment and running POSTMAN test cases 2 Answers

software.apigee.com mirror username password 1 Answer

APIGEE Maven Plugin to also deploy Data Mask Configurations 1 Answer

Deployment through jenkins failed after the config.json is executed 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
© 2019 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
  • General
  • Edge/API Management
  • Developer Portal
  • API Design
  • APIM on Istio
  • Extensions
  • Business of APIs
  • Academy/Certification
  • Analytics
  • Events
  • 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
  • Members
  • Badges