Thank you for taking the time to provide a response! It has really clarified some of the things I wasn't super sure on.
Op donderdag 27 februari 2020 20:47:56 UTC+1 schreef Matt Sicker: > > Responses inline below: > > On Thu, Feb 27, 2020 at 9:07 AM Jeroen Haaksema > <[email protected] <javascript:>> wrote: > > > > Hello, > > > > First of, I’m really sorry if this is not the right place to ask this, > if not please let me know who I could direct this to!I am a CS student who > is doing a course on architecture and I have chosen Jenkins. Part of the > course is communicating with the architect. There doesn’t seem to be just a > single architect within Jenkins and your group seems to me the closest I > will get to an actual architect. The assignment I’m working on is a > reconstruction of the architecture from an open source software project and > one of the things we are looking at is Architecturally Significant > Requirements(ASR). Which comes down to requirements set in stone with no > wiggle room. I would really appreciate it if someone would be able to > either confirm or deny if the ASR’s I have defined are correct. > > Correct; there isn't a single architect behind Jenkins, though Kohsuke > Kawaguchi was the original developer which is the closest thing I can > think of. > > > Would you say that part of the reason that Jenkins was developed in Java > is due to that this means that the codebase can be used for Linux, Mac Os X > and Windows? (this obviously skips over that Oracle, the owner of Java was > part of the inception of Jenkins) > > Cross platform capabilities are useful, though I'd also assume it was > also chosen as a familiar tech stack by the original developer at the > time when it was just a side project running on a spare computer at > his office. > > > Would you say that using HTTP to manage slave nodes is to make it > possible for Jenkins to have nodes on different operating systems working > together? > > The nodes are managed through a custom protocol which has allowed it > to be implemented in several concrete implementations such as > launching over SSH, using the protocol directly (encrypted via TLS) > over TCP/IP for agent-initiated TCP/IP connections, and even using > Apache Kafka as a message broker of sorts. > > > Furthermore I have some other questions: > > > > Would you say that one of the main features of Jenkins is the Pipeline > and the option to customise which steps are taken including the order and > possible steps after the completion of test? > > Yes, though do note that pipelines are a more recent feature than the > project itself, though just through a different UI. Automation of > tasks and reacting to them is the gist in my opinion, yes. > > > What is the reason that plugins can be written in Kotlin? > > Kotlin was designed to interoperate easily with Java [1], so it's a > natural extension to be able to do the same in Jenkins. Due to > JEP-200, though, there may be extra boilerplate code needed to save > and load config objects written using Kotlin collection classes, but I > haven't actually validated that. > > [1]: https://kotlinlang.org/docs/reference/java-interop.html > > > Would you say that an external interface used by Jenkins is a link to a > source control management system (eg. GitHub) ? > > Yes, though I'd clarify that there are two potential interfaces there: > the git repository itself and webhooks from GitHub (or other similar > SCM hosts). There are even more potential interfaces there, though the > git repository one is a fundamental one as most Jenkins jobs need to > pull data from somewhere continuously, and a git repository is a > natural tool for that. > > > -- > Matt Sicker > Senior Software Engineer, CloudBees > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/06836bd3-3a94-4414-850b-4fc3d172ac2e%40googlegroups.com.
