From 6ff040e83d2e9dcde1cec27cd5c8e24d50feb166 Mon Sep 17 00:00:00 2001 From: Adrian Stoica <stoica@ntnu.no> Date: Mon, 18 Sep 2023 13:21:21 +0200 Subject: [PATCH] edit: update slides for lecture 8 --- lectures/revealjs/08-eclipse-che.adoc | 105 ++++++++++++++++++++ lectures/revealjs/08-git-special-files.adoc | 96 ++++++++++++++++++ 2 files changed, 201 insertions(+) create mode 100644 lectures/revealjs/08-eclipse-che.adoc create mode 100644 lectures/revealjs/08-git-special-files.adoc diff --git a/lectures/revealjs/08-eclipse-che.adoc b/lectures/revealjs/08-eclipse-che.adoc new file mode 100644 index 0000000..cec0936 --- /dev/null +++ b/lectures/revealjs/08-eclipse-che.adoc @@ -0,0 +1,105 @@ += CDEs / Eclipse Che +:customcss: slides.css +:icons: font +:includedir: includes/ +:LECTURE_TOPIC: CDEs / Eclipse Che +:LECTURE_NO: 8th Lecture + +include::{includedir}header.adoc[] + +[.smaller-80][.center-paragraph] +IT1901 Fall 2023 - {LECTURE_NO} + +[background-color = "#124990"] +[color = "#fff6d5"] +== Overview +[.smaller-80] +- Administrative issues +- CDEs +- Eclipse Che +- Git - Special Files +- Summary + + +== Group work + +- 1st group assignment - deadline - 21.09.2023 18:00 +- Eclipse Che requirement is replaced +- Need to have documentation that indicates the java and maven versions needed + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Cloud Cevelopment Environments (CDEs) + +== CDEs + +- aim is to have a browser as sole requirement +- click a link to open the project +- automated git setup +- the entire development environment is preconfigured +- everyone runs the same environment (works on any machine) +- improved collaboration and onboarding + +== CDEs (2) + +- Gitpod +- Codespaces +- Eclipse Che +- etc +- the main idea is having a preconfigured container running on a cloud infrastructure + +== CDEs (3) + +- we tradeoff control +- we are dependent of network access +- save time (Gitpod claims it saves 5h/week/dev) +- less developers work on their environment setting skills +- limited somewhat by the browser view + + +== Eclipse Che + +- open source - Eclipse Foundation +- available online hosted by RedHat +- can be self hosted on Kubernetes +- we will use it in IT1901 + ** test in deliverable 2 + ** obligatory for deliverable 3 + + +== Eclipse Che IT1901 + +[.smaller-80] +- https://che.stud.ntnu.no +- current limitations + ** container UI needs to be started manually + ** UI might lock (screensaver) - we need to unlock using terminal commands + ** every user is limited to 1 running workspace + ** stoping a workspace loses changes (you should always push your changes before closing) + +== Eclipse Che IT1901 + +[.smaller-80] +- setting up Gitlab access + ** in Che -> User Preferences -> Personal Access Tokens + ** Add token + ** if you do not have a token - generate one in Gitlab +- opening a project in Che + ** using a link - https://che.stud.ntnu.no/#https://gitlab.stud.idi.ntnu.no/project_path?new + ** using the dashboard in Che + +== Eclipse Che configuration + +- devfile.yaml or .devfile.yaml in the root of the repo +- https://eclipse.dev/che/docs/stable/end-user-guide/devfile-introduction/ + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Demo + + + + +include::{includedir}footer.adoc[] \ No newline at end of file diff --git a/lectures/revealjs/08-git-special-files.adoc b/lectures/revealjs/08-git-special-files.adoc new file mode 100644 index 0000000..cf48a06 --- /dev/null +++ b/lectures/revealjs/08-git-special-files.adoc @@ -0,0 +1,96 @@ += Git Special Files +:customcss: slides.css +:icons: font +:includedir: includes/ +:LECTURE_TOPIC: Git Special Files +:LECTURE_NO: 8th Lecture + +include::{includedir}header.adoc[] + +[.smaller-80][.center-paragraph] +IT1901 Fall 2023 - {LECTURE_NO} + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Git Special Files + +== Overview + +- .gitignore +- .mailmap +- .gitkeep +- .gitattributes + +== .gitignore + +- configure files to ignore +- https://git-scm.com/docs/gitignore +- https://gitignore.io + +== .mailmap + +- map author / committer names and emails +- https://git-scm.com/docs/gitmailmap + + +== .mailmap + +``` +# Hallvard +Hallvard Trætteberg <hal@ntnu.no> Hallvard Trætteberg <hal@ntnu.no> +Hallvard Trætteberg <hal@ntnu.no> Hallvard Traetteberg <hal@ntnu.no> +Hallvard Trætteberg <hal@ntnu.no> hal <hal@ntnu.no> +# Adrian +George Adrian Stoica <stoica@ntnu.no> George Adrian Stoica <stoica@ntnu.no> +George Adrian Stoica <stoica@ntnu.no> Adrian Stoica <stoica@ntnu.no> + +``` + +== .gitkeep + +- keep in the repository empty folders +- git keeps track of folders that have files +- not really a git special file +- widely used convention +- typically we remove the file when we add other files to the folder + +== .gitattributes + +- https://www.git-scm.com/docs/gitattributes +- control git attributes per path +- for example configure how EOL is handled + +== .gitattributes + +``` +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Set linux endings for . files +.bashrc text eol=lf +.xinitrc text eol=lf + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.c text +*.h text + +# Declare files that will always have CRLF line endings on checkout. +*.sln text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary + +``` +[smaller-40] +https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Summary + + +include::{includedir}footer.adoc[] \ No newline at end of file -- GitLab