ADR 2. CI/CD Platform #375
Replies: 5 comments 5 replies
-
@beechnut Thanks for the detailed description of what your working on. That really helps me to understand and to assess. Let me ask a couple more questions.
What I'm trying to get at is at each possible failure point we don't want to have something pass through the pipeline without some sort of tracking. Being able to identify and track all issues in the EAP would be very helpful. What I've seen in the past is that you have to look in multiple places to find issues and things can get lost in the minutiae. If those problems can be identified in the Sprint with an issue attached to it it would help from a reporting and management perspective. |
Beta Was this translation helpful? Give feedback.
-
Good news! Matt Reiss said that accessibility tests have been run as part of isolated builds for OpenForest, and is confident that we can containerize infrastructure to run tests. If this all checks out, I'm planning on updating the ADR to recommend using the Forest Service Jenkins. Following up with Matt Reiss to validate this ASAP. Demos I'll be requesting:
|
Beta Was this translation helpful? Give feedback.
-
After reviewing Jenkins' capabilities with Matt Reiss, @AdamUSDA, and others, I've changed the recommendation to propose using the Forest Service Jenkins instance. It comes with plenty of major positive consequences, and just a few minor negative (really, "potential negative") consequences, all laid out in the latest version of the ADR. There's still a few open questions around:
Welcoming thoughts, questions, and other feedback. |
Beta Was this translation helpful? Give feedback.
-
Hey @beechnut , That was a very well thought out document. One of the best I've seen on this subject. There are several concerns that you raised that I would like to discuss. "Jenkins is not set up to isolate application's configuration from one another—since Jenkins tasks are shared Forest Service-wide, others' work on Jenkins could introduce bugs into our workflow, and vice versa." "Notifications are not as clear or directed (failures are emailed to the entire team, not the individual who checked in the code)." I'm not a fan of exposing our builds to an audience outside of the specific application and DevOps team. You also know that I don't like for errors to be lost in the minutia of the Jenkins logs. Can you schedule some time for us to walk through this again. It should just be You, Neil, myself and Lorena. |
Beta Was this translation helpful? Give feedback.
-
Before we present I would like to have this in the google document so that we can walk the Cloud Foundation team through our questions. I've asked a couple of other questions that we need to discuss before we present. i.e what will have happen in Test, and Production. I would like to have a review of the serverless frameworks. We may present that a serverless framework will be used but not designate which one until we have completed our due diligence. Please setup a time so that we can walk through the document and the questions. Before we present I need to approve what will be presented. Thanks Adam |
Beta Was this translation helpful? Give feedback.
-
ADR 2: Use GitHub Actions for CI/CD is now ready for discussion & review! attn: @AdamUSDA @jayrbergjr @Cope1-FS
Reminder that this is an in-progress document, not a final draft. As you review this, please:
Please respond here with any questions, comments, amendments, additional research, approvals, etc., or make proposed changes to the file. Thanks!
A little more background:
A few weeks ago Matt Reiss presented a slide to @AdamUSDA and I with approved technologies. For this ADR, I researched all the options under the "Continuous Integration & Build" and "Containerization & Continuous Deployment" columns that could be used as a CI/CD pipeline (which excluded only Kubernetes).
Jenkins, Azure DevOps, and GitHub Actions were the three main candidates based on appropriate languages & technology. I spoke with Chaochung Tsai three times (in great detail) about Jenkins, as well as Jai Jaiprakash, who has a lot of familiarity setting up NRM apps on Jenkins.
I landed on proposing GitHub Actions in this draft despite wanting to be able to recommend Jenkins, the clear standard in the Forest Service. This research uncovered unknowns and risks that could hinder our ability to meet the QASP and deliver working software. Details are in the pros/cons of each option's section.
Beta Was this translation helpful? Give feedback.
All reactions