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

feat: enable opbeans java release process #33

Merged
merged 29 commits into from
Nov 29, 2019
Merged

Conversation

v1v
Copy link
Member

@v1v v1v commented Jul 24, 2019

Highlights

  • enable ITs: async when running as a PR or sync when running in a branch/tag
  • Continuous delivery when running the pipeline either in a branch or tag. master branch refers to latest while others will name the image with their names.
  • Script to bump versions for the java agent.

Issues

Tasks

  • Versioning
  • Release automation
  • ITs validation should be synchronous when running a release.

@v1v v1v mentioned this pull request Jul 24, 2019
3 tasks
@v1v v1v self-assigned this Jul 24, 2019
@v1v v1v added the automation label Jul 24, 2019
.ci/Jenkinsfile Outdated
@@ -1,4 +1,4 @@
#!/usr/bin/env groovy
@Library('apm@current') _
@Library('apm@opbeans-release') _
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be reverted once the tests have been done

@felixbarny
Copy link
Member

Sorry if it's obvious but what is the benefit of having a release of Opbeans java with each release of the Java agent? Which problems are we trying to solve here? Is it just to test that the agent API is binary compatible?

@kuisathaverat
Copy link
Contributor

Sorry if it's obvious but what is the benefit of having a release of Opbeans java with each release of the Java agent? Which problems are we trying to solve here? Is it just to test that the agent API is binary compatible?

have a Docker image with the agent and the application in the same binary allow to make offline test, you only need the Docker image nothing else. it avoids having runtime dependencies to download, and all the problems derivated that, you have only one download. Have a well-defined version named allow to have a compatibility matrix of the Opbeans with the stack, and make super easy to test any version of the agent against any version of the start, you only specify the version of the agent, and in the future a version attached to the stack version, something like opbeans/opbeans-java:1.0 and opbeans/opbeans-java:stack-7.5. To have well-defined versioning allows us to track issues related to an opbeans version and a version of the stack. Finally, it allows to have decupled versions of the frontend and the backend, the RUM agent is gonna start a series of changes that breaks compatibility, this means that all Opbeans can stop working if they use the latest version of the frontend, with well-defined versioning this does not happen.

.ci/Jenkinsfile Outdated Show resolved Hide resolved
@v1v v1v merged commit 63468a2 into elastic:master Nov 29, 2019
@v1v v1v mentioned this pull request Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants