simonsimon006 / kth_a2_continuous_integration

GNU General Public License v3.0
0 stars 0 forks source link

Last Commit Issues Pull Requests License

Assignment #2: Continuous Integration

KTH Logo

This is the repository for Assignment #2: Continuous Integration in the course DD2480 Software Engineering Fundamentals at KTH Royal Institute of Technology, Sweden. This project is written in Java and uses Gradle as the build tool.

Table of Contents

Description of the Assignment

The goal of this assignment is to master the core of continuous integration. To achieve this goal, a small continuous integration CI server is implemented. This CI server only contains the core features of continuous integration.

How to Run Compilation and Testing

Install Gradle according to this guide and the Java JDK from here. We can only guarantee support for Gradle v7.6 and Java version 19, although it would likely work with different versions of Java.

After installing Gradle and Java download the repository and open a terminal or command prompt. Use cd to change directory to the same one where the gradlew.bat file is. Run, bundle or test the program by using the gradlew tool. Platform specific commands are listed below.

Linux/OSX:

Windows:

To use the program, set up a github webhook with a payload URL indicating the server and its associated port (default 9000). Content type should be application/json. To receive emails, you need to ensure that you do not have your email set to private when you commit. More info here.

The server will build and test the branch where your latest commit was made and send an email to your non-private email address.

Description of Implementation and Unit-Testing

Compilation

==[TO BE ADDED: how compilation has been implemented and unit-tested]==

Test Execution

==[TO BE ADDED: how test execution has been implemented and unit-tested]==

Notification

==[TO BE ADDED: how notification has been implemented and unit-tested]==

Build List

The CI server keeps the history of past builds, see build list.

Statement of Contributions

We are proud of this project and what we have accomplished in such a short amount of time. The team's creativity has been extremely useful in this project since it facilitated overcoming various predicaments that arised during the imlementation of this CI. Even though this project proved to be quite difficult, we are all convinced that it did yield profound knowledge in how CI servers are implemented.

Simon Grunwald

Simon Grunwald

Linnéa Gustafsson

Linnéa Gustafsson

Oscar Olsson

Oscar Olsson

Jesper Slagarp

Jesper Slagarp

Hans Stammler

Hans Stammler

License

Copyright 2023 Simon Grunwald, Linnéa Gustafsson, Oscar Olsson, Jesper Slagarp & Hans Stammler

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.