microsoftgraph / group-membership-management

Group Membership Management (GMM) is a service that dynamically manages the membership of AAD Groups. Groups managed by GMM can have their membership defined using existing AAD Groups and/or custom membership sources.
Other
49 stars 10 forks source link

Pipeline fail for Dot.net in Build_TeamsChannel release #38

Open slavoslavo opened 2 months ago

slavoslavo commented 2 months ago

I would like to ask for help with the below error, when running the pipeline to deploy gmm. Rest of the functions are build successfully. Note: all functions are build with the same dot.net version.

Starting: dotnet build TeamsChannel function

Task : .NET Core Description : Build, test, package, or publish a dotnet application, or run a custom dotnet command Version : 2.238.1 Author : Microsoft Corporation Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli

C:\Windows\system32\chcp.com 65001 Active code page: 65001 Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version. Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting

[error]Project file(s) matching the specified pattern were not found.

[warning]RetryHelper encountered task failure, will retry (attempt #: 1 out of 3) after 1000 ms

C:\Windows\system32\chcp.com 65001 Active code page: 65001 Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version. Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting

[error]Project file(s) matching the specified pattern were not found.

[warning]RetryHelper encountered task failure, will retry (attempt #: 2 out of 3) after 4000 ms

C:\Windows\system32\chcp.com 65001 Active code page: 65001 Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version. Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting

[error]Project file(s) matching the specified pattern were not found.

[warning]RetryHelper encountered task failure, will retry (attempt #: 3 out of 3) after 9000 ms

C:\Windows\system32\chcp.com 65001 Active code page: 65001 Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version. Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting

[error]Project file(s) matching the specified pattern were not found.

Finishing: dotnet build TeamsChannel function

alrios-ms commented 2 months ago

Hi @slavoslavo,

TeamsChannel has been renamed to TeamsChannelMembershipObtainer.

If your vsts-cicd.yml still refers to TeamsChannel, you might want to get the latest version of the code.

The deployment process uses the function names defined in vsts-cicd.yml and matches those with the corresponding function folder under Service/GroupMembershipManagement/Host.

Also, would you mind sharing which code version (commit id) you are using?

slavoslavo commented 2 months ago

Hi alrios-ms, thank you for your quick response. We have updated the code and executed the pipeline again but had the same result. The build function task fails at "Build TeamsChannel debuger" and "Build TeamsChannel release" . The "TeamsChannelMembershipObtainer" debug and release do complete successfully as well as all other functions.

the commit ID is: da911191ead0e10744ec32c3fc07a8ae37cf3cce additional details: in our tenant, creation of new teams is by default denied. Is there an easy way to comment out the deployment of the TeamsChannel debuger\release? as for our testing this functionality is not required.

pipeline
alrios-ms commented 2 months ago

Hi @slavoslavo,

Yes, you can remove TeamsChannel from vsts-cicd.yml, that would prevent it from being deployed.

In your vsts-cicd.yml search for 'TeamsChannel' and remove it from the file, for instance:

functionApps:

You can also delete these: TeamsChannelMembershipObtainer TeamsChannelUpdater

danielluo-msft commented 2 months ago

To add to this, we will be re-enabling TeamsChannel-related membership in a future update as we prioritize other aspects of GMM like the UI

slavoslavo commented 2 months ago

Hi thank you for the advise, this helped us to move forward but we run into another issue where the pipeline ends after stage "build_CopyParameters" and rest of the stages is "skipped" so no resources in Azure resource groups are deployed. All Azure AD steps were completed sucessfully and the Kyevault has all relevant entries as well" .

pipelen-stage
alrios-ms commented 2 months ago

Hi @slavoslavo,

The condition for these stages expects the branch name to be 'develop', if you are using another name you might need to adjust the condition for that.

NonProd_webapp_env - vsts-cicd.yml NonProd_env vsts-cicd.yml

Also, for environments other than int, ua and your designated production, the build must be manually triggered.

I hope this helps.


Also, we would like to know more about your use case, this is totally optional, but if you are interested feel free to reach out to us.

Could you also provide some additional details about your organization, such as its size and structure? We're keen to understand the specific use case you have in mind for the GMM tool.

As we're actively seeking early adopters, we'd love to connect with you to explore further. Please feel free to reach out to GMMinquiries@microsoft.com to share more.

slavoslavo commented 1 month ago

Hi thank you for the help, we were able to move forward but encountered one more issue, the pipeline fails on web app deployment with this error: Deploy WebApp compute resources Starting template validation. Deployment name is template-20240506-170659-607c There were errors in your deployment. Error code: InvalidTemplate.

[error]Deployment template validation failed: 'The value for the template parameter 'environmentAbbreviation' at line '1' and column '453' is not provided. Please see https://aka.ms/arm-create-parameter-file for usage details.'.

we have checked all templates but could not find what it is referencing as the env. abbreviation is entered everywhere in the same manner.

alrios-ms commented 1 month ago

Hi @slavoslavo

Sorry for the late response. Looks like there is a missing parameter in the file that that deploys the web app.

deploy-webapp

  overrideParameters: -location "${{parameters.location}}"
                      -solutionAbbreviation "${{parameters.solutionAbbreviation}}"

it should be like this:

  overrideParameters: -location "${{parameters.location}}"
                      -solutionAbbreviation "${{parameters.solutionAbbreviation}}" 
                      -environmentAbbreviation "${{parameters.environmentAbbreviation}}"                         
slavoslavo commented 1 month ago

Thank you so we managed to get again a bit further and were stopped by this error: image

alrios-ms commented 1 month ago

Would you mind trying replacing your deploy-webapp.yml with this one deploy-webapp.txt

Rename from txt to yml.

slavoslavo commented 1 month ago

thank you for the advise, this has resolved the pipeline issue. We were able to move forward including all post-deployment tasks and now we are facing an issue where: when attempting to access the UI URL it does not contain the react app parameters (see attached screenshot) url-login

and if we modify the URL but manually replacing the parameters we get an error: XHRPOST https://login.microsoftonline.com/organizations/oauth2/v2.0/token [HTTP/2 400 305ms] and page is hanging on "loading page"

would a direct contact via MS Teams be possible? While this is still being tested in our Sandbox environment the plan is to proceed into Prod environment once the test deployment is successful.

ivajlotinh commented 1 month ago

Hello,

any update on this please? I also sent you an email with the details you ask for about our company but no reply yet. This project has quite high visibility in our leadership.

Thank you in advance

alrios-ms commented 1 month ago

Hello,

The previous file I shared was using an old format to name the variables, variableName_environment, that’s why the UI deployment stage couldn’t find the pipeline variable ‘REACT_APP_AAD_API_APP_CLIENT_ID_poc’, I have updated the file.

deploy-webapp.txt

Rename from txt to yml.