-
Notifications
You must be signed in to change notification settings - Fork 107
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
Automate docker image creation via GitHub Action CI/CD #10921
Comments
I want to share with you that I was able for the first time to successfully build WMCore in GitHub Action. To make this thing I setup independent repository [1] where I'm testing GitHUb Action builds. The build is based on Debian distribution (GitHub action does not support cern/cc7) and pypi WMCore build. You can view the GitHub action workflow over here [2]. It almost build everything with only few hick-ups I found during the build:
This repo [1] and my recipe [2] can be used as initial point in further progress towards CI/CD and GitHub Actions. We need to polish details but the proof-of-concept is there and it shows that we may have a GitHub Action build. The next step would be to make Docker image based on this build, and if we manage it, then I can add action to deploy the image to k8s cluster(s). [1] https://github.com/vkuznet/wmcore-builds |
This is great news, Valentin. |
yes, we can easily reduce the scope to only building the image and upload to CERN registry. So far, I'm in a stage of make a normal WMCore build, not even build the image. If someone, e.g. @goughes , will tell me how to invoke |
There is an issue with wmagent, and reqmgr2ms installation, see #11327 It should be addressed before we can move forward with this one. |
Based on suggestion in #11327 (comment) we should adapt building docker images automatically via CI/CD pipeline. The procedure can be used from https://github.com/dmwm/WMArchive/blob/master/.github/workflows/build.yml#L65 till the end of the file which fetches image, then build it and upload to registry and even put it on testbed |
The scope of this GH is too large. IMO, it should simply request the following deliverables:
build to PyPi has been done already. Automatic deployment of images to the kubernetes infrastructure (dev/testbed/production) is likely to be further discussed, and well worth it its own GH issue. Run some basic workflows would also deserve its own GH issue. |
@amaltaro , I updated (simplified) description of this issue and will proceed with it. This is what we discussed on a zoom call, i.e. once we have images we'll automate their creation and upload to registry. The only technical detail we need to agree is tagging naming convention. For instance the tag should include release tag plus pypi prefix or suffix, e.g. |
Impact of the new feature
Automate deployment procedure to cmsweb k8s cluster via GtiHub Action CI/CD pipeline
Is your feature request related to a problem? Please describe.
Reduce operational cost associated with current deployment procedure
Describe the solution you'd like
Use GitHub CI/CD pipeline to trigger automatic builds of all WMCore services upon new tag creation. The build should include the following steps:
Describe alternatives you've considered
Some of the functionality exists in Jenkins, but it is limited to testing new release and does not take into account docker image and integration with k8s infrastructure
Additional context
With fully automated builds we can significantly reduce cost of operations, especially if you start managing multiple services.
The text was updated successfully, but these errors were encountered: