Jenkins – instalacja

Od jakiegoś czasu siedzę już w tematyce DevOps CI CD. Postanowiłem sobie ułożyć kilka rzeczy w głowie i zacznę od Jenkins’a. Uważam że jest to podstawowe narzędzie do Continuous Integration / Continuous Delivery i Continuous Deployment. Wpisuje się także bardzo dobrze w DevOps gdyż jest narzędziem który wspomaga zarówno system deweloperski i eksploatacyjny. Z jednego miejsca można zarządzać pobranie wystawionego na github oprogramowania, sprawdzić czy jest poprawne pod względem możliwości skompilowania, skompilować, wdrożyć w system testowy, przeprowadzić testy, wdrożyć w system produkcyjny. Ostatnia cześć jednak jest lepiej jak dzieje się już nie automatycznie a zaplanowana przez administratorów. Opis dotyczy Jenkins 2.89.4.

Czytaj dalej

Red Hat Jboss Fuse ESB – klient

Fuse ma możliwość zarządzania poprzez WWW, jednak jako administrator linux’a z krwi i kości wolę konsolę. Jeżeli uruchamiamy po raz pierwszy jako karaf.bat mamy konsolę od razu, jednak w przypadku kiedy mamy jako serwis to konsoli nie mamy dostępnej, dlatego trzeba się połączyć klientem, czyli client.bat.

Czytaj dalej

Android – wprowadzenie i instalacje

Android – wprowadzenie i instalacje

Hej! Korzystając z uprzejmości Sławka otrzymałem możliwość prowadzenia działu o Androidzie. Postaram się w przejrzysty i prosty sposób przekazać Wam wiedzę jaką na ten temat posiadam. Na początku chciałbym zaznaczyć, że nie jestem (jeszcze :)) absolutnym guru Androida, ale cały czas staram się rozwijać, a artykuły które będę tutaj umieszczał z pewnością mnie do tego bardziej zmotywują. Spis treści 1. Android w dwóch słowach 2. Instalacja IDE 3. Pierwszy program 4. Podsumowanie 1. Android w dwóch słowach   Android to system operacyjny oparty na jądrze Linuksa i wirtualną maszynę Javy. W dzisiejszych czasach praktycznie wszechobecny. Początkowo rozwijany przez firmę Android, następnie przez Google Inc., a aktualnie przez Open Handset Alliance. Jego fenomenem jest łatwość z jaką przychodzi nauka tworzenia aplikacji, niesamowita dostępność aplikacji oraz możliwość zarabiania na nich. Pełną dokumentację oraz „rynek zbytu” mamy dostarczone przez Google, więc pozostaje tylko trochę dobrych chęci, a przede wszystkim motywacja do działania.   2. Instalacja IDE ZMIANA! Dzięki Google nie musimy już sami instalować osobno wszystkich części środowiska developerskiego. Wystarczy pobrać paczkę eclipse ze strony: http://developer.android.com/sdk/index.html. Wystarczy, że zainstalujecie środowisko Java, a resztę punktu 2. możecie pominąć :) — Przed stworzeniem naszej pierwszej appki wymagane będzie przygotowanie środowiska programistycznego. Na szczęście nie jest to za bardzo skomplikowanie. Większość z Was powinna mieć już zainstalowane JDK oraz IDE. Mimo to przeprowadzę Przykra wiadomość dla zagorzałych fanów Netbeansa – tutaj będziemy zajmować się wyłącznie Eclipse. Potrzebne pliki:

  • Najnowsza Java (JDK) – oczywiście jeśli nie macie jeszcze zainstalowanego środowiska. Dostępna tutaj. Informacje na temat instalacji znajdziecietutaj
  • Eclipse – dostępne na oficjalnej stronie eclipse. Dowolna wersja. Osobiście polecam Classic. Artykuł jest napisany pod najnowszą wersję JUNO.
  • Android SDK – dostępny tutaj.
Instalujemy kolejno Jave i SDK. Eclipsa wystarczy wypakować w wygodnym dla nas miejscu.
Włączamy SDK Managera.

Aplikacje będę tworzył pod Androida 2.3.3, dlatego właśnie taką wersję pobieram. Jeśli macie urządzenia działające na innych wydaniach Androida, to polecam zainstalować Wasze wersje. Programy które będziemy pisać powinny działać na każdym urządzeniu. Pozostało nam teraz tylko skonfigurować Eclipsa. Należy dodać jeden plugin, który pozwoli nam wygodnie tworzyć pod Androida. Wchodzimy w Help -> Install New Software. Jako źródło podajemy https://dl-ssl.google.com/android/eclipse/. Jeśli nie działa, można spróbować http://dl-ssl.google.com/android/eclipse/. Wybieramy Developer Tools. Teraz już tylko next, next… finish. Kolejnym krokiem jest podanie lokalizacji SDK. Wchodzimy w Window -> Preferences -> Android i podajemy lokalizację SDK. U mnie jest to C:\android-sdk. Gotowe! Wszystko powinno być teraz ustawione jak należy.

3. Pierwszy program Jeśli udało Ci się dotrwać do tego momentu, to najwyższa pora na pierwszy program.

Wybieramy: File -> New -> Other… (Ctrl+N)   I teraz zależnie od wersji Eclipse wybieramy: Wybieramy Android (Application) Project. Wpisujemy nazwę. Wybieramy wersję Androida. Na tej liście powinny być wszystkie SDK zainstalowane w lokalizacji którą podaliśmy wcześniej w ustawieniach.

Dla kroku ze skórką pozastawiamy wartości domyślne. Pozostało wypełnić ostatni formularz:
Po wypełnieniu naciskamy Finish. Zostaje wygenerowana struktura projektu. Bardzo ważne jest jej zrozumienie.

  1. Klasy źródłowe – tutaj piszemy nasz kod. 2. R.java – Klasa generowana przez środowisko, która łączy część programistyczną z zasobami. 3. Binarki – są generowane przez środowisko,mało interesujące, tutaj raczej nie zaglądamy. 4. Zasoby (z ang. resources). Tutaj znajduje się wszystko co można oddzielić od kodu (obrazki, animacje, layouty, dźwięki, a nawet tekst) 5. AndroidManifest.xml – Zawiera informacje która Aktywność (klasa) powinna zostać uruchomiona jako pierwsza, jakich zezwoleń wymaga aplikacja, jaką ma nazwę itd.   Przeanalizujmy zawartość HelloWorldActivity.java.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package pl.javastart;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class HelloWorldActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

Na pierwszy rzut oka, to co widzimy, może się wydawać się bardzo dziwne. Nie ma tutaj żadnej klasy main() więc, jak to ma niby działać. Śpieszę z odpowiedzią. Na potrzeby tego tutorialu pomijam opis metody „public boolean onCreateOptionsMenu(Menu menu)”. Na razie nie będziemy z tego korzystać. Można nawet pokusić się o jej usunięcie. Menu omówione jest w tym artykule. Klasa którą widzimy rozszerza Activity. Aktywności w Androidzie odpowiadają każdemu ekranowi. Nie wiem, czy zwróciliście uwagę, ale większość aplikacji działa w ten sposób, że kliknięcie otwiera kolejny widok. Jest to właśnie wspomniana aktywność. Naciśnięcie przycisku wstecz powoduje natomiast zamknięcie aktualnej aktywności i powrót do poprzedniej. To tak w skrócie. Więcej na temat aktywności niebawem. Wracając do rzeczy. Mamy metodę onCreate(). Jest ona wywoływana, jak sama nazwa wskazuje, przy tworzeniu aktywności. Parametr metody (Bundle savedInstanceState) jest dla nas aktualnie nieistotny, natomiast ważne jest to co się dzieje później.

1
setContentView(R.layout.main);

Tutaj warto na chwilę się zatrzymać. Przyjrzyjmy się najpierw parametrowi. R.layout.main. Jak już wcześniej wspomniałem klasa R jest generowana przez środowisko. Nie jest zalecana jej manualna zmiana. Służy do wskazania w kodzie o który element z zasobów nam chodzi. Tutaj wskazanie jest na wygenerowany layout. Znajduje się on w folderze res->layout. Łatwo się domyślić, że zawiera on dane na temat wyglądu. Po otworzeniu widzimy coś takiego: Tak więc nasza pierwsza aplikacja ustawia tylko layout. Spróbuj zmienić tekst kontrolki, powinien być on widoczny w uruchomionej aplikacji. Spróbujmy w końcu uruchomić naszą aplikację. Klikamy na Run, a następnie wybieramy Android Application. Eclipse zasugeruje nam stworzenie wirtualnej maszyny, co robimy. Jest to dosyć intuicyjne. Po załadowaniu maszyny wirtualnej na ekranie powinna pojawić się nasza aplikacja:   Programy polecam testować na telefonach/tabletach podpiętych do komputera. Wystarczy zainstalować sterowniki i odblokować opcję developerską. Robimy to wchodząc w Ustawienia -> Aplikacje -> Opracowywanie -> Debugowanie USB. Ta opcja powinna być zaznaczona. Jeśli natomiast nie macie dostępnych urządzeń– nic straconego. Android SDK dostarcza stosunkowo dobre emulatory. Ich wydajność pozostawia, co prawda, wiele do życzenia, ale za to w większości wypadków to co widzimy na emulatorze pojawi się w identycznej formie na urządzeniu. 4. Podsumowanie W tym momencie powinniśmy mieć zainstalowane i działające IDE pod Androida. Stworzyliśmy już także pierwszą aplikację. Wszystko gotowe, żeby przejść do właściwego programowania. Aby nauczyć się programowania na Androida na początku nie jest wymagane urządzenie z Androidem – wszystkie rezultaty można podglądać w emulatorze. P.S Jest to mój pierwszy artykuł i liczę na Wasze konstruktywne opinie. Jeśli macie jakieś pytania, coś jest niejasne, albo zauważyliście jakieś błędy – piszcie śmiało. Z pewnością przeczytam każdy komentarz.

Żródło

GIT – podstawy

GIT – jeden z rozwiązań dający możliwość pracy grupowej z kontrolą wersji. Poniżej piszę podstawowe komendy.

Oczywiście są też wersje okienkowe, jak i wiele edytorów kodów źródłowych które wspierają git’a, może kiedyś też opiszę.
Czytaj dalej

Ovirt – zmiana IP

Zamiana IP w bazie na tabelach: vds_interface i network_attachments

Zamiana w plikach:

  • /etc/sysconfig/network-scripts/ifcfg-ovirtmgmt
  • /var/lib/vdsm/persistence/netconf/nets/ovirtmgmt
  • /var/run/vdsm/netconf/nets/ovirtmgmt

Centos 7 – problem z aktualizacją

Nadszedł czas aktualizacji centos 7 zatem wykonałem:

yum clean all

yum update

i wtedy dostałem komunikat:

 

OSError: [Errno 5] Błąd wejścia/wyjścia: ‚/var/lib/yum/yumdb/r/0f999c27c87ed0397c11d957ace5a6123c437b71-rubygem-fluent-plugin-rewrite-tag-filter-1.5.5-5.el7-noarch/from_repo’

 

Wystarczyło wykasować katalog: /var/lib/yum/yumdb