skip to main content
10.1145/3209087.3209091acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecseeConference Proceedingsconference-collections
short-paper

Introducing a Deployment Pipeline for Continuous Delivery in a Software Architecture Course

Published: 14 June 2018 Publication History

Abstract

Continuous Delivery (CD) has emerged to an important concept of software architecture in the last few years. The goal of a CD strategy is to decrease the time to market of an application while increasing the quality of that software. However, literature shows that teaching CD practices in higher education is in an infancy stage. Therefore a new concept for teaching CD practices is developed and demonstrated. In this concept students have to master several different tools and technologies to create an automated software delivery system. This can be achieved by guiding the students through a hands-on project, in which they develop stage by stage a CD pipeline. This paper introduces necessary background information as well as the CD teaching concept with its scaffolded learning approach for implementing a CD pipeline in a software architecture course.

References

[1]
Len Bass, Ingo M. Weber, and Liming Zhu. 2015. DevOps: a software architect's perspective. Addison-Wesley Professional, New York.
[2]
BIND9.NET/BIND9.ORG. 2018. DNS, BIND, DHCP, LDAP and Directory Services. (2018). Retrieved 03-08-2018 from http://www.bind9.net/
[3]
Henrik Bærbak Christensen. 2016. Teaching DevOps and Cloud Computing using a Cognitive Apprenticeship and Story-Telling Approach. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). ACM Press, 174--179.
[4]
Jenkins Project Community. 2018. Jenkins. (2018). Retrieved 03-08-2018 from https://jenkins.io/
[5]
Gatling Corp. 2018. Gatling - Performance Testing For Web Applications. (2018). Retrieved 03-08-2018 from https://gatling.io/
[6]
Oracle Corporation. 2018. Jersey RESTful Web Services in Java. (2018). Retrieved 03-08-2018 from https://jersey.github.io/
[7]
Oracle Corporation. 2018. VirtualBox. (2018). Retrieved 03-08-2018 from https://www.virtualbox.org/
[8]
Paul Duvall, Stephen M. Matyas, and Andrew Glover. 2007. Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley, Upper Saddle River, NJ.
[9]
Brian P. Eddy, Norman Wilde, Nathan A. Cooper, Bhavyansh Mishra, Valeria S. Gamboa, Khyati N. Patel, and Keenal M. Shah. 2017. CDEP: Continuous Delivery Educational Pipeline. In Proceedings of the SouthEast Conference (ACM SE '17). ACM Press, New York, NY, USA, 55--62.
[10]
Brian P. Eddy, Norman Wilde, Nathan A. Cooper, Bhavyansh Mishra, Valeria S. Gamboa, Keenal M. Shah, Adrian M. Deleon, and Nikolai A. Shields. 2017. A Pilot Study on Introducing Continuous Integration and Delivery into Undergraduate Software Engineering Courses. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE T). IEEE, 47--56.
[11]
The Apache Software Foundation. 2018. Apache HTTPComponents. (2018). Retrieved 03-08-2018 from https://hc.apache.org/
[12]
The Linux Foundation. 2018. Kubernetes. (2018). Retrieved 03-08-2018 from https://kubernetes.io/
[13]
HashiCorp. 2018. Vagrant. (2018). Retrieved 03-08-2018 from https://www.vagrantup.com/
[14]
Jez Humble and David Farley. 2010. Continuous delivery: reliable software releases through build, test, and deployment automation. Addison-Wesley, Upper Saddle River, NJ.
[15]
Amazon Web Services Inc. 2018. Amazon Web Services AWS- Server Hosting & Cloud Services. (2018). Retrieved 03-08-2018 from https://aws.amazon.com/de/
[16]
Docker Inc. 2018. Docker. (2018). Retrieved 03-08-2018 from https://www.docker.com/
[17]
Eclipse Foundation Inc. 2018. Eclipse. (2018). Retrieved 03-08-2018 from http://www.eclipse.org/
[18]
Google Inc. 2018. AngularJS. (2018). Retrieved 03-08-2018 from https://angularjs.org/
[19]
GitHub Inc. 2018. GitHub. (2018). Retrieved 03-08-2018 from https://github.com/
[20]
Gradle Inc. 2018. Gradle Build Tool. (2018). Retrieved 03-08-2018 from https://gradle.org/
[21]
Stephan Krusche and Lukas Alperowitz. 2014. Introduction of continuous delivery in multi-customer project courses. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion 2014). ACM Press, 335--343.
[22]
Sam Newman. 2015. Microservices: Konzeption und Design. mitp, Frechen.
[23]
Michael T. Nygard. 2018. Release it! Design and deploy production-ready software. Pragmatic Bookshelf, Raleigh, NC.
[24]
Selenium Projects. 2018. SeleniumHQ Browser Automation. (2018). Retrieved 03-08-2018 from https://www.seleniumhq.org/
[25]
Maggie Renken, Melanie Peffer, Kathrin Otrel-Cass, Isabelle Girault, and Augusta Chiocarriello. 2016. Scaffolding Science Learning: Promoting Disciplinary Knowledge, Science Process Skills, and Epistemic Processes. In Simulations as Scaffolds in Science Education. Springer International Publishing, Cham, 23--28.
[26]
Preforce Software. 2015. Continuous Delivery: The New Normal for Software Development. (2015). Retrieved 03-08-2018 from https://www.perforce.com/pdf/continuous-delivery-report.pdf
[27]
Willy Tarreau. 2018. HAproxy. (2018). Retrieved 03-08-2018 from http://www.haproxy.org/
[28]
Eberhard Wolff. 2015. Continuous Delivery: der pragmatische Einstieg (1. aufl ed.). dpunkt-Verl, Heidelberg.

Cited By

View all
  • (2022)Peer Instruction in Online Software Testing and Continuous Integration - A Replication Study2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)10.1109/ICSE-SEET55299.2022.9794148(199-204)Online publication date: May-2022
  • (2021)The application of continuous practices in higher computer science education - A systematic literature review2021 44th International Convention on Information, Communication and Electronic Technology (MIPRO)10.23919/MIPRO52101.2021.9597101(1618-1623)Online publication date: 27-Sep-2021
  • (2021)Analyzing DevOps Teaching Strategies: An Initial StudyProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3477071(180-185)Online publication date: 27-Sep-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ECSEE '18: Proceedings of the 3rd European Conference of Software Engineering Education
June 2018
140 pages
ISBN:9781450363839
DOI:10.1145/3209087
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Continuous Delivery
  2. Continuous Integration
  3. Pipeline
  4. Scaffolded Learning
  5. Software Architecture

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Funding Sources

  • Bundesministerium für Bildung und Forschung

Conference

ECSEE'18

Acceptance Rates

Overall Acceptance Rate 11 of 16 submissions, 69%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Peer Instruction in Online Software Testing and Continuous Integration - A Replication Study2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)10.1109/ICSE-SEET55299.2022.9794148(199-204)Online publication date: May-2022
  • (2021)The application of continuous practices in higher computer science education - A systematic literature review2021 44th International Convention on Information, Communication and Electronic Technology (MIPRO)10.23919/MIPRO52101.2021.9597101(1618-1623)Online publication date: 27-Sep-2021
  • (2021)Analyzing DevOps Teaching Strategies: An Initial StudyProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3477071(180-185)Online publication date: 27-Sep-2021
  • (2021)An evaluation of continuous integration and delivery frameworks for classroom useProceedings of the 2021 ACM Southeast Conference10.1145/3409334.3452085(204-208)Online publication date: 15-Apr-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media