I’m having trouble with the Transfer a Package step in a Release that I’m building. I have an external repository to Artifactory configured, and it can see my build artifact, including version information.
The issue I’m running into is that the artifact that’s being sent to Artifactory has this name (example):
test-cicd-1.0.112-mule-application.jar
When I try to do a deployment in Octopus, it cannot find the artifact. Looking at request logs on Artifactory shows that Octopus is trying to find:
test-cicd-1.0.112.jar
I have not been able to override the artifact name in the build environment by using .
Any suggestions on how I can get Octopus to find the correct artifact name?
I believe the issue is stemming from the fact that we use semantic versioning. I believe the -mule-application might be causing an issue. Are you able to verify if your file follows semantic versioning using the instructions in the below link?
Please let me know the results of the test when you get a chance.
Would you be able to post a screenshot of the versions Octopus sees when you create a release? That might help us get a better understanding of what Octopus sees in the repository.
Thanks for the quick response. I’m going to investigate this further, I will keep you updated. Have you tried to change the filename so that the version is at the end of the file and see if Octopus succeeds in grabbing the file? For example test-cicd-mule-application-1.0.112.
Hi Jeremy,
I did do a test where I changed the name of the artifact within Artifactory to be test-cicd-1.0.112.jar, and then Octopus was able to find the artifact. I have renamed the artifact back, so that the environment exists the way that it was previously, reflecting what would be coming out of the build server.
I’m by no means a maven repository guru, but I did some digging and it looks like your maven metadata.xml is losing filename information as well. If you take a look at the example here, you will see their xml has the “-snapshot” intact. I am going to talk to the engineer who integrated Maven into Octopus but he is on a different shift so I won’t be able to get you information til 8pm~ est or tomorrow morning.
I will keep you updated, but please feel free to reach out in the mean time with any questions.
The reason why I asked is because if I saw the maven command you would use to download the file, I could determine if the -mule-application portion is being treated as a classifier, which unfortunately we currently do not support with maven feeds in Octopus. This feature is slated to be released along with 2020.3, as well as file type selection. Do you know if that part is a classifier?
I’m not sure - I have not worked with classifiers and I’m not seeing anything in the pom.xml. What I’ve done for now is create a powershell script to call an Artifactory API to rename the build artifact (eliminating -mule-application), and then I was able to get Octopus to find the artifact and do the deployment. This is being done as part of the build process.
I’m glad you have a workaround for now. If it is a classifier it would be added with a plugin in maven or in some other part of the build process. I do believe this is a classifier which we unfortunately do not support in our current version. I spoke with an engineer and he confirmed that in 2020.3 we will have support for them. Please reach out with any other questions or concerns. Sorry I don’t have better news for you.