Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move app ID and app version configuration out of build.properties #11569

Open
wkurniawan07 opened this issue Feb 15, 2022 · 12 comments · May be fixed by itstrueitstrueitsrealitsreal/teammates#6
Labels
a-Design High-level design or architecture help wanted Moderate difficulty, small localized change; suitable for novice contributors

Comments

@wkurniawan07
Copy link
Member

Current: app ID and app version are configured via build.properties.

Problem:
While not necessarily a problem, this is a practice that is no longer justifiable because the system is already decoupled from App Engine since V8.0.0. App ID and version are deployment-specific metadata whose values should be set outside of (non-deployment) code.

Solution:

  • App ID and app version are only relevant for deployment; they should thus be moved to gradle.properties, so that the values can be retrieved by the deployment script.
  • If any of those values are required within the application, they should be obtained by retrieving GOOGLE_CLOUD_PROJECT and GAE_VERSION from the environment. In dev server they should be hard-coded to some suitable values.
  • If any of those values are required by E2E tests or client scripts, it is a wrong practice that should be fixed. The necessary values should be retrieved from another source, e.g. test.properties for the former and client.properties for the latter.
@wkurniawan07 wkurniawan07 added help wanted Moderate difficulty, small localized change; suitable for novice contributors a-Design High-level design or architecture labels Feb 15, 2022
@wkurniawan07 wkurniawan07 added this to the V8.X.0 milestone Feb 16, 2022
@wkurniawan07 wkurniawan07 removed this from the V8.X.0 milestone Feb 28, 2022
@u6867511
Copy link
Contributor

Hello, could I be assigned to this issue?

@fsgmhoward
Copy link
Member

@u6867511 Sure. Please go ahead since no one is taking up this. But be reminded that you should probably focus on 1 or 2 issues and solve them before taking new ones as I saw your comment in many issues.

@Divyansh9979
Copy link

Hi, is this issue still open? If yes, can I be assigned to this issue?

@domlimm
Copy link
Contributor

domlimm commented Jul 6, 2023

@Divyansh9979 Hello, feel free to submit a PR for this issue. We do not assign issues to contributors.

@anii1827
Copy link

Hi, I would like to work on this issue. is this issue still open?

@weiquu
Copy link
Contributor

weiquu commented Dec 17, 2023

Sure @anii1827, please go ahead

@anii1827
Copy link

In the context of point number 2, for a production server, the version and app ID should be obtained by retrieving values from the environment variables GOOGLE_CLOUD_PROJECT and GAE_VERSION.
To obtain these values from the environment, it is essential to know the corresponding variable names. Therefore, can we consider using the following variable names to fetch the values for those fields:

  1. APP_ID = GOOGLE_CLOUD_PROJECT
  2. APP_VERSION = GAE_VERSION

or, are there any other variables that should be considered for obtaining these details in a production environment?

@weiquu
Copy link
Contributor

weiquu commented Dec 19, 2023

Pinging @wkurniawan07 (or @damithc), who will be more familiar with the prod env

@anii1827
Copy link

sure!

@weiquu
Copy link
Contributor

weiquu commented Dec 26, 2023

@wkurniawan07 just checking if you're able to help with this issue!

@anii1827
Copy link

anii1827 commented Jan 9, 2024

@weiquu any update?

@itstrueitstrueitsrealitsreal
Copy link
Contributor

Hi, @damithc, @wkurniawan07, any updates on this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-Design High-level design or architecture help wanted Moderate difficulty, small localized change; suitable for novice contributors
Projects
None yet
8 participants