Vállalati Információs Rendszerek

Folyamatos integráció eszközei

Jenkins

Szerver elérhetősége: http://vir.inf.u-szeged.hu:8282/

Login info: username: "vezeteknev_keresztnev" password: Neptun kód

Feladatok:

  • Töltsük fel GitLab-ba egy saját repository-ba az előző feladatsor ant és maven példáit (két külön branch-re)
In [1]:
git clone git@vir.inf.u-szeged.hu:hpeter/CI-task.git
cd CI-task
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Cloning into 'CI-task'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
[master (root-commit) 4a48e67] add README
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@vir.inf.u-szeged.hu:hpeter/CI-task.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.
In [14]:
git checkout -b ant-branch
git branch
git push origin ant-branch
Switched to a new branch 'ant-branch'
* ant-branch
  master
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: To create a merge request for ant-branch, visit:
remote:   http://vir.inf.u-szeged.hu:8181/hpeter/CI-task/merge_requests/new?merge_request%5Bsource_branch%5D=ant-branch
remote: 
To git@vir.inf.u-szeged.hu:hpeter/CI-task.git
 * [new branch]      ant-branch -> ant-branch
In [15]:
cp -R ../prev_projects/ant_sample/* .
ls -l
total 8
-rw-rw-r-- 1 vir vir  926 Jun 18 11:33 build.xml
-rw-rw-r-- 1 vir vir    0 Jun 18 11:21 README.md
drwxrwxr-x 3 vir vir 4096 Jun 18 11:33 src
In [16]:
git add .
git commit -m "Ant project is added."
git push origin ant-branch
[ant-branch 7ac860c] Ant project is added.
 2 files changed, 38 insertions(+)
 create mode 100644 build.xml
 create mode 100644 src/vir/samples/HelloWorld.java
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (7/7), 883 bytes | 0 bytes/s, done.
Total 7 (delta 0), reused 0 (delta 0)
remote: 
remote: To create a merge request for ant-branch, visit:
remote:   http://vir.inf.u-szeged.hu:8181/hpeter/CI-task/merge_requests/new?merge_request%5Bsource_branch%5D=ant-branch
remote: 
To git@vir.inf.u-szeged.hu:hpeter/CI-task.git
   4a48e67..7ac860c  ant-branch -> ant-branch
In [17]:
git checkout -b mvn-branch
git branch
Switched to a new branch 'mvn-branch'
  ant-branch
  master
* mvn-branch
In [18]:
rm -R src
rm build.xml
cp -R ../prev_projects/maven_sample/* .
ls -l
total 8
-rw-rw-r-- 1 vir vir  789 Jun 18 11:39 pom.xml
-rw-rw-r-- 1 vir vir    0 Jun 18 11:21 README.md
drwxrwxr-x 4 vir vir 4096 Jun 18 11:39 src
In [19]:
git add .
git commit -m "Maven project is added."
git push origin mvn-branch
[mvn-branch 2199daf] Maven project is added.
 4 files changed, 60 insertions(+), 29 deletions(-)
 delete mode 100644 build.xml
 create mode 100644 pom.xml
 rename src/{ => main/java}/vir/samples/HelloWorld.java (100%)
 create mode 100644 src/test/java/vir/samples/AppTest.java
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (10/10), 1.19 KiB | 0 bytes/s, done.
Total 10 (delta 0), reused 0 (delta 0)
remote: 
remote: To create a merge request for mvn-branch, visit:
remote:   http://vir.inf.u-szeged.hu:8181/hpeter/CI-task/merge_requests/new?merge_request%5Bsource_branch%5D=mvn-branch
remote: 
To git@vir.inf.u-szeged.hu:hpeter/CI-task.git
 * [new branch]      mvn-branch -> mvn-branch
  • Hozzunk létre egy új job-ot
    • Freestyle project
    • Git – adjuk meg a repository URL-jét és a megfelelő azonosító adatokat
    • Poll SCM
      • Schedule – @hourly
    • Build: Invoke Ant/Invoke top-level Maven targets (hozzunk létre két külön Jenkins job-ot nekik)
      • Ant – Targets: main
      • Maven – Goals: package
    • Post-build Actions
      • Válasszunk valamit

title

  • Építés most

    • Kattintás az építés előtti azonosítóra -> Console Output
    • BUILD SUCCESSFUL

title

  • Csináljuk végig maven-nel is (3 pont)

  • Indítsuk be a job buildelését egy REST hívással (pl. szkriptes automatizációhoz) (5 pont)

Házi feladat:

  • Próbáljuk ki SVN-nel is a Jenkins buildelést (5 pont)