I’ve created a Forge app (just the default Hello World one) and deployed & installed it on my Cloud Developer site. Then I deployed and installed a Production version to the same site. Finally I deployed and installed the Production version to a separate site on which I’m an admin.
However, I now want to make changes to the app (including changing the manifest). I’ve made the changes, and if I do
forge deploy and then
forge install it appears to install it to my personal site; however, when I look at it in the site, the changes haven’t come through.
If I then try to do
forge deploy -e production, that works fine, but then if I do
forge install or
forge install -e production I get the following error:
Error: App with appId 46xxxx and EnvironmentId cbxxxxx already installed with id e0xxxxx and status COMPLETED in context ari:cloud:confluence::site/73xxxxx.
I think I possibly just don’t have a correct understanding of the deploy/install process, but can anyone help me out?
Additionally, how do I allow someone else to make changes to the app? So, if I’ve created an app (perhaps installed it, perhaps not), and then someone else wants to work on it, how do we do that? Do I just give them all my code, including the manifest file? Or do they need to change something in order for Confluence to accept the app coming from a different user?
Hi @SharonGilmore ! I will explain it in simple terms. My peers can explain it better.
forge deploy and forge install default to making changes and installing the app in development environment.
For production and staging, we would need to explicitly mention like you did
You should be able to see Staging and Development mentioned in brackets when you choose those environments.
Install is a one time activity. If you keep making changes to the app and want to see it getting reflected, you need to use deploy command. No need to execute install again.
Do I just give them all my code, including the manifest file?
Yeah, a common repo can be maintained for your team to contribute to the changes. You can set up your own PR process. Before Multi-User App Ownership, each app-id was tied to a single account making collaboration difficult.
We have recently introduced Multi-User App Ownership Feature which is in EAP. This tags an app-id to multiple developer accounts. If you are interested, you can learn more here - https://developer.atlassian.com/platform/forge/changelog/#CHANGE-1072
Hi @SharonGilmore ,
In addition to @ChandanaMeka 's great response, here is a visualisation that may help:
Thank you - that makes it a lot clearer!
So, once I’ve deployed an app to my dev environment, I can just do
forge deploy every time it changes, and that will update it?
But if there’s been a major change (i.e. to the manifest file) then I’ll need to do
forge install --upgrade, is that correct?
That’s right, but note that not all manifest changes are considered major - some are minor and don’t require a re-install. See https://developer.atlassian.com/platform/forge/environments-and-versions/#major-upgrades.