Wprowadzenie: instalowanie narzędzia Jenkins na maszynie wirtualnej z systemem Linux platformy Azure
W tym artykule pokazano, jak zainstalować narzędzie Jenkins na maszynie wirtualnej z systemem Ubuntu Linux przy użyciu narzędzi i wtyczek skonfigurowanych do pracy z platformą Azure.
Ten artykuł obejmuje następujące zagadnienia:
- Tworzenie pliku instalacyjnego, który pobiera i instaluje narzędzie Jenkins
- Tworzenie grupy zasobów
- Tworzenie maszyny wirtualnej przy użyciu pliku instalacyjnego
- Otwórz port 8080, aby uzyskać dostęp do serwera Jenkins na maszynie wirtualnej
- Połączenie do maszyny wirtualnej za pośrednictwem protokołu SSH
- Konfigurowanie przykładowego zadania narzędzia Jenkins na podstawie przykładowej aplikacji Java w usłudze GitHub
- Kompilowanie przykładowego zadania narzędzia Jenkins
1. Konfigurowanie środowiska
- Subskrypcja platformy Azure: jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
2. Otwórz usługę Cloud Shell
Jeśli masz już otwartą sesję usługi Cloud Shell, możesz przejść do następnej sekcji.
Przejdź do witryny Azure Portal
W razie potrzeby zaloguj się do subskrypcji platformy Azure i zmień katalog platformy Azure.
Otwórz usługę Cloud Shell.
Jeśli wcześniej nie użyto usługi Cloud Shell, skonfiguruj ustawienia środowiska i magazynu.
Wybierz środowisko wiersza polecenia.
3. Tworzenie maszyny wirtualnej
Utwórz katalog testowy o nazwie
jenkins-get-started
.Przejdź do katalogu testowego.
Utwórz plik o nazwie
cloud-init-jenkins.txt
.Wklej następujący kod do nowego pliku:
#cloud-config package_upgrade: true runcmd: - sudo apt install openjdk-11-jre -y - curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null - echo 'deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/' | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null - sudo apt-get update && sudo apt-get install jenkins -y - sudo service jenkins restart
Uruchom polecenie az group create , aby utworzyć grupę zasobów.
az group create --name jenkins-get-started-rg --location eastus
Uruchom polecenie az vm create , aby utworzyć maszynę wirtualną.
az vm create \ --resource-group jenkins-get-started-rg \ --name jenkins-get-started-vm \ --image UbuntuLTS \ --admin-username "azureuser" \ --generate-ssh-keys \ --public-ip-sku Standard \ --custom-data cloud-init-jenkins.txt
Uruchom polecenie az vm list , aby zweryfikować tworzenie (i stan) nowej maszyny wirtualnej.
az vm list -d -o table --query "[?name=='jenkins-get-started-vm']"
Gdy usługa Jenkins działa na porcie 8080, uruchom polecenie az vm open , aby otworzyć port 8080 na nowej maszynie wirtualnej.
az vm open-port \ --resource-group jenkins-get-started-rg \ --name jenkins-get-started-vm \ --port 8080 --priority 1010
4. Konfigurowanie usługi Jenkins
Uruchom polecenie az vm show , aby uzyskać publiczny adres IP dla przykładowej maszyny wirtualnej.
az vm show \ --resource-group jenkins-get-started-rg \ --name jenkins-get-started-vm -d \ --query [publicIps] \ --output tsv
Kluczowe punkty:
- Parametr
--query
ogranicza dane wyjściowe do publicznych adresów IP maszyny wirtualnej.
- Parametr
Przy użyciu adresu IP pobranego w poprzednim kroku protokół SSH do maszyny wirtualnej. Musisz potwierdzić żądanie połączenia.
ssh azureuser@<ip_address>
Kluczowe punkty:
- Po pomyślnym nawiązaniu połączenia monit usługi Cloud Shell zawiera nazwę użytkownika i nazwę maszyny wirtualnej:
azureuser@jenkins-get-started-vm
.
- Po pomyślnym nawiązaniu połączenia monit usługi Cloud Shell zawiera nazwę użytkownika i nazwę maszyny wirtualnej:
Sprawdź, czy usługa Jenkins jest uruchomiona, uzyskując stan usługi Jenkins.
service jenkins status
Kluczowe punkty:
- Jeśli wystąpi błąd dotyczący usługi, która nie istnieje, może być konieczne odczekenie kilku minut na zainstalowanie i zainicjowanie wszystkiego.
Pobierz automatycznie wygenerowane hasło serwera Jenkins.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Przy użyciu adresu IP otwórz następujący adres URL w przeglądarce:
http://<ip_address>:8080
Wprowadź pobrane wcześniej hasło, a następnie wybierz pozycję Kontynuuj.
Wybierz pozycję Wybierz wtyczkę do zainstalowania.
W polu filtru w górnej części strony wprowadź .
github
Wybierz wtyczkę GitHub i wybierz pozycję Zainstaluj.Wprowadź informacje dla pierwszego użytkownika administratora, a następnie wybierz pozycję Zapisz i kontynuuj.
Na stronie Konfiguracja wystąpienia wybierz pozycję Zapisz i zakończ.
Wybierz pozycję Rozpocznij korzystanie z narzędzia Jenkins.
5. Tworzenie pierwszego zadania
Na stronie głównej narzędzia Jenkins wybierz pozycję Utwórz zadanie.
Wprowadź nazwę
mySampleApp
zadania , wybierz pozycję Projekt Freestyle, a następnie wybierz przycisk OK.Wybierz kartę Zarządzanie kodem źródłowym. Włącz usługę Git i wprowadź następujący adres URL dla wartości Adres URL repozytorium:
https://github.com/spring-guides/gs-spring-boot.git
. Następnie zmień specyfikator gałęzi na*/main
.Wybierz kartę Kompilacja, a następnie wybierz pozycję Dodaj krok kompilacji
Z menu rozwijanego wybierz pozycję Wywołaj skrypt narzędzia Gradle.
Wybierz pozycję Użyj otoki Gradle, a następnie wprowadź wartość
complete
w polu Lokalizacja otoki i wartośćbuild
w polu Zadania.Wybierz pozycję Zaawansowane i wprowadź
complete
ciąg w polu Główny skrypt kompilacji.Przewiń do dołu strony i wybierz pozycję Zapisz.
6. Skompiluj przykładową aplikację Java
Gdy zostanie wyświetlona strona główna projektu, wybierz pozycję Kompiluj teraz , aby skompilować kod i spakować przykładową aplikację.
Grafika poniżej nagłówka Historia kompilacji wskazuje, że zadanie jest kompilowane.
Po zakończeniu kompilacji wybierz link Obszar roboczy .
Przejdź do strony ,
complete/build/libs
aby zobaczyć, że.jar
plik został pomyślnie skompilowany.Serwer Jenkins jest teraz gotowy do tworzenia własnych projektów na platformie Azure!
Rozwiązywanie problemów
Jeśli wystąpią jakiekolwiek problemy z konfigurowaniem serwera Jenkins, zapoznaj się ze stroną instalacji serwera Jenkins, aby uzyskać najnowsze instrukcje i znane problemy.