ASK 01 PawelKopec AdrianMakuch

Administrowanie systemami komputerowymi
1

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 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 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.:

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

  1. 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

  1. Przygotuj system do instalacji aplikacji bundler:

yum install ruby

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

  1. 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

  1. 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

  1. 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

  1. 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

$ 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:
lab01, 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
01 ASK Tematy referatów 2012
Dane, Adrianna Vampire Falls 01 Animal Heat

więcej podobnych podstron