Integrating Java Application Build Process with Azure DevOps: Best Practices

Recommendation for Java Application Build Process Integration

Question

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:

-> The builds must access an on-premises dependency management system.

-> The build outputs must be stored as Server artifacts in Azure DevOps.

-> The source code must be stored in a Git repository in Azure DevOps.

Solution: Configure an Octopus Tentacle on an on-premises machine. Use the Package Application task in the build pipeline.

Does this meet the goal?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B.

A

Octopus Deploy is an automated deployment server that makes it easy to automate deployment of ASP.NET web applications, Java applications, NodeJS application and custom scripts to multiple environments.

Octopus can be installed on various platforms including Windows, Mac and Linux. It can also be integrated with most version control tools including VSTS and

GIT.

When you deploy software to Windows servers, you need to install Tentacle, a lightweight agent service, on your Windows servers so they can communicate with the Octopus server.

When defining your deployment process, the most common step type will be a package step. This step deploys your packaged application onto one or more deployment targets.

When deploying a package you will need to select the machine role that the package will be deployed to.

https://octopus.com/docs/deployment-examples/package-deployments https://explore.emtecinc.com/blog/octopus-for-automated-deployment-in-devops-models

The proposed solution of configuring an Octopus Tentacle on an on-premises machine and using the Package Application task in the build pipeline might not fully meet all the given requirements.

While using the Package Application task in the build pipeline can generate a build output that can be stored as server artifacts in Azure DevOps, it does not address the requirement of accessing an on-premises dependency management system.

In addition, it is not clear how the proposed solution would integrate with the Git repository in Azure DevOps to build the Java application. This means that it may not fully meet the requirement of storing the source code in a Git repository in Azure DevOps.

Therefore, the proposed solution does not meet all the stated requirements, and the answer is B. No.

To meet all the requirements, an alternative solution could be to use a build agent on an on-premises machine that can access the dependency management system, pull the source code from the Git repository in Azure DevOps, and build the Java application. The build output can then be stored as server artifacts in Azure DevOps. This solution ensures that all requirements are met, including accessing an on-premises dependency management system, storing the build output as server artifacts in Azure DevOps, and storing the source code in a Git repository in Azure DevOps.