lab01, ASK 01 PawelKopec AdrianMakuch

background image

Administrowanie systemami komputerowymi

1

Temat:

SVN, Git i Redmine Zadania:

Data:

Autor:

Paweł Kopeć

1 2 3 4 5 6 7 8 9 10 11

12 13 14 15

13.10.2014

Autor:

Adrian Makuch

e e e e e e m e m

e

e

e

e

m m 14:30-16:45


Zadanie 1. Podstawowe operacje na repozytorium

Zadanie polegało na utworzeniu na komputerze nowego repozytorium SVN za pomocą

komendy:

svnadmin create /lab-svn/svn

Polecenie tworzy standardowy drzewo repozytorium. Subversion pozwala na sprawne operowanie
na katalogach w repozytorium. Korzysta z takich samych poleceń co Linux, poprzedzonych
poleceniem svn, np. tworzenie folderu:

svn mkdir /sciezka_do_repo/nowy_folder


Zadanie 2. Manipulacja strukturą folderów

W tym zadaniu należało zapoznać się z możliwościami svn w operacjach na katalogach.

Należy pamiętać, że większość z operacji wykonywanych z użyciem komendy svn wymaga
dodania komentarza. Jest to potrzebne, aby w późniejszym czasie można było łatwo dowiedzieć się
co dana operacja miała za zadanie zrobić.

Zadanie 3. Importowanie istniejącego projektu

Ć

wiczenie polegało na zaimportowaniu do repozytorium, wcześniej utworzonego projektu.


Zadanie 4. Tworzenie kopii roboczej plików

Zadanie pozwoliło zapoznać się z jedną z głównych komend, czyli checkout. Pobiera ona z

repozytorium całą strukturę katalogów i plików i zapisuje ją w wybranym przez nas katalogu. Od
tej pory, prace nad plikami, które pobraliśmy są monitorowane przez system kontroli wersji.

Zadanie 5. Dodawanie plików i zatwierdzanie zmian

Zadanie pozwoliło nam zauważyć, że samo utworzenie pliku w katalogu który zawiera

kopię roboczą repozytorium, nie gwarantuje, że ten plik będzie brany pod uwagę przy następnym
commicie. Aby tak się stało, musi on być przyłączony do repozytorium za pomocą polecenia:

svn add nazwa_pliku

Jeżeli nie jesteśmy pewni, czy nowo utworzone pliki objęte są kontrolą wersji, wystarczy że
wydamy polecenie svn status, które zwróci nam listę plików w których zaszły zmiany, oraz te, które
znajdują się w folderze z repozytorium, ale nie są do niego dodane.

Zadanie 6. Usuwanie i zmiana nazw plików

Zadanie polegało na usunięciu oraz zmianie nazwy plików w repozytorium oraz zauważeniu,

ż

e zmiany, które dokonaliśmy, zostały od razu zacommitowane.


Zadanie 7. Wersjonowanie

Każdy z commitów otrzymuje kolejny numer wersji. Dzięki temu, korzystając z polecenia

background image

checkout z opcją –r, możemy podać numer rewizji, którą chcemy pobrać na swój komputer.
Pobrane zostają jednak tylko te pliki, które różnią się pomiędzy wersjami.

Zadanie 8. Konflikty

Głównym powodem używania systemów kontroli wersji jest edytowanie tego samego pliku

przez wiele osób jednocześnie. Zachodzi wtedy potrzeba scalenia wszystkich kopii w jedną.
Subversion daje nam możliwość automatycznego scalenia plików, które posiadają różne dane, a
jeżeli występuje konflikt(w dwóch plikach zmienione są te same dane), użytkownikowi pozostawia
decyzję który plik ma być zapisany, lub pozwala mu ręcznie edytować plik.

Zadanie 9. Gałęzie

Zadanie polegało na podziale dotychczas tworzonego projektu na gałęzie. Gałąź główna

zawiera najważniejsze pliki projektu, a każdy rozwijany element, posiada swoją odrębną gałąź.
Dzięki temu możemy osobno zająć się scalaniem każdej z gałęzi z osobna, a dopiero potem scalić
cały projekt. Gałąź główna przetrzymywana jest w folderze trunk, natomiast gałęzie poboczne w
folderze branches. Do scalenia gałęzi z główna wykorzystywane jest polecenie

svn merge ^/branches/galaz

gdzie ^ oznacza ścieżkę do repozytorium.

Zadanie 10. Zdalne repozytorium

Ć

wiczenie polegało na pobraniu repozytorium na inny komputer korzystając z połączenia

svn+ssh. Zasady uwierzytelniania są tu dokładnie takie same jak przy korzystaniu z czystego ssh.

Zadanie 11. Zrzucenie i ładowanie repozytorium

Zadanie polegało na wykonaniu kopii zapasowej repozytorium. Nie należy jednak kopiować

wszystkich katalogów z repozytorium, lecz użyć polecenia:

svnadmin dump /lab-svn/svn > /tmp/mydumpfile.db

Dzięki temu w jednym pliku będziemy mieć całe repozytorium.

Zadanie 12 Wstęp do systemu git

W tym zadaniu mieliśmy się zapoznać z podstawowymi poleceniami wykorzystywanymi w

programie git. Jest to program bardzo podobny do programu svn, jednak wymaga od nas, abyśmy
ustawili swoją nazwę użytkownika oraz adres email, aby móc być identyfikowanym w systemie.

Zadanie 13 Git: podstawowe operacje

Zadanie polegało na zapoznaniu się z schematem pracy podczas korzystania z git.

Najważniejszą rzeczą o jakiej trzeba pamiętać podczas pracy z gitem jest to, że git, poleceniem

background image

commit nie wysyła domyślnie plików. Każdy plik należy dodać poleceniem git add. W loga-ch gita
możemy także zobaczyć, że każdy commit nie ma przydzielanego kolejnego numeru(jak w
przypadku svn), lecz jest to ciąg identyfikacyjny wyliczany za pomocą SHA1.

Zadanie 14 Git: synchronizacja repozytoriów

W tym zadaniu nauczyliśmy się pracy z gitem na różnych stanowiskach. Po skopiowaniu

repozytorium na inną maszynę i wykonaniu w nim jakiś zmian, polecenie git commit zapisało te
zmiany, lecz tylko w naszym lokalnym repozytorium. Aby zapisały się one na głównym
repozytorium, należy te zmiany „wypchnąć” poleceniem git push. W przypadku kiedy dokonaliśmy
zmiany w pliku, a ktoś inny w międzyczasie także dokonywał zmian w tym samym pliku, git prosi
nas abyśmy uzgodnili które zmiany mają zostać.

Zadanie 15 Redmine

Redmine jest rozbudowanym narzędziem służącym do zarządzania projektem

informatycznym. Do korzystania z niego, potrzebne jest posiadanie Ruby on rails. Dzięki redmine
możemy m.in.:

o

Utrzymywać kontrolę nad wersjami plików projektu(wspiera SVN,CVS,git).

o

Przydzielać różne poziomy dostępu do plików projektu pracownikom.

o

Przydzielać pracownikom zadania.

o

Tworzyć kalendarze projektowe(diagram Gantta).

o

Tworzyć raporty z postępów w pracach nad projektem.

Instrukcja przedstawia instalację redmine na czystym systemie centos 6.5.W niektórych

przypadkach wymagane będzie uruchomienie polecenia jako sudo(dot. głównie poleceń yum oraz
service).:

1.

Utwórz katalog dla redmine i pobierz kod źródłowy:

mkdir ~/redmine
cd ~/redmine
svn co http://svn.redmine.org/redmine/branches/2.5-stable redmine-2.5

2.

Zainstaluj usługę mysql, załóż bazę danych dla redmine oraz skonfiguruj redmine do
korzystania z bazy danych:

yum install mysql-server mysql php-mysql
service mysqld start
mysql –u root
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER ‘redmine’@’localhost’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON redmine.* TO ‘redmine’@’localhost’;
exit
cp ~/redmine/redmine-2.5/config/database.yml.example ~/redmine/redmine-
2.5/config/database.yml

Edytuj plik database.yml podmieniając odpowiednie pola na następujące:

production

:

adapter

:

mysql

database

:

redmine

host

:

localhost

username

:

redmine

password

:

my_password

3.

Przygotuj system do instalacji aplikacji bundler:

yum install ruby

background image

yum install gcc g++ make automake autoconf curl-devel openssl-devel zlib-
devel httpd-devel apr-devel apr-util-devel
yum install ruby-devel
yum install mysql-devel
yum install ImageMagick-devel
yum install rubygems

4.

Zainstaluj bundler

gem install bundler
gem install json –v ‘1.8.1’
gem install mysql –v ‘2.8.1’
gem install rmagick –v ‘2.13.3’
bundle install –without development test

Jeżeli podczas wykonywania ostatniego polecenia pojawią się problemy(informacja
o braku jakiegoś pakietu, należy wykonać polecenie
gem install nazwa_pakietu –v ‘wersja’
po czym powtórzyć bundle install

5.

Przygotuj klucz sesji oraz bazę danych

cd ~/redmine/redmine-2.5
rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

6.

Zapewnij dostęp użytkownikowi do odpowiednich plików

cd ~/redmine/redmine-2.5
mkdir –p tmp/pdf public/plugin_assets
chown –R user_name:user_name files log tmp public/plugin_assets
chmod –R 755 files log tmp public/plugin_assets

7.

Uruchom usługę poleceniem:
ruby ~/redmine/redmine-2.5/script/rails server webrick –e production
I sprawdź w przeglądarce jej działanie wpisując adres(login i hasło: admin)
http://localhost:3000


Uwagi

W zadaniu 6 podane jest polecenie do zmiany nazwy pliku:
$ svn rename file:///doc/index.html file:///doc/doc.html -m “rename”
powinno ono jednak wyglądać tak:
file:///lab-svn/svn/project/doc/index.html file:///doc/doc.html -m “rename”

W zadaniu 14, po nieudanej próbie wypchnięcia do oryginalnego repozytorium, pliku
drugi.txt utworzonego w lab-git2 jesteśmy proszeni o wykonanie zmian w oryginalnym
repozytorium(git-lab):

$ echo „aa” >> plik-mv.txt

<- tutaj występuje błąd

$ git add plik-mv.txt

<- a więc tutaj też

$ git commit –m „dodano aa"

A następnie pobranie tej zmiany w drugim repozytorium(git-lab2). Dalszy opis ćwiczenia
mówi że „Zmiany powinny zostać automatycznie scalone”.
Ż

adne zmiany jednak nie są scalane. Na git-lab2 zmienialiśmy plik drugi.txt, a na git-lab

zmienialiśmy plik plik-mv.txt. aby w tym ćwiczeniu można było zauważyć to scalenie,
zmiany w oryginalnym repozytorium także należy wykonać na pliku drugi.txt.


Wyszukiwarka

Podobne podstrony:
ASK 01 PawelKopec AdrianMakuch
ASK 02 PawelKopec AdrianMakuch
ASK 06 PawelKopec AdrianMakuch
lab06 ASK 06 PawelKopec AdrianM Nieznany
ASK 02 PawelKopec AdrianMakuch
pjn-01 PJN-01-PawełKopeć-AdrianMakuch
ASK 04 PawelKopec AdrianMakuch
pjn-02 PJN-02-PawełKopeć-AdrianMakuch
ASK 01 arch PC
ASK 01 arch PC bw
pjn 02, PJN 02 PawełKopeć AdrianMakuch
pjn 03, PJN 03 PawełKopeć AdrianMakuch
FIDE Trainers Surveys 2017 01 28 Adrian Mikhalchishin Tactics in Rook Endings
FIDE Trainers Surveys 2018 01 24 Adrian Mikhalchishin Challenging Black counter play in Maroczy stru
01 ASK Tematy referatów 2012
BD2 LAB01 J Wikarek, bd 02 01 SQL
BD2.LAB01.J.Wikarek bd 02 01, SQL
01 ASK Tematy referatów 2012

więcej podobnych podstron