Erstellen Sie eine Umgebung, in der CircleCI lokal mit Windows 10 + WSL2 (Ubuntu) + Docker ausgeführt werden kann

Vor kurzem war ich von der Windows-Umgebung und WSL (Windows Subsystem for Linux) 2 begeistert und hatte das Gefühl, dass die CircleCI-Leistung nicht ausreicht. Daher habe ich eine Umgebung erstellt, in der ich CircleCI testen kann. Die Installation ist einfach, es sei denn, Sie befürchten, dass Sie Docker nicht unter Linux installieren müssen, auf dem WSL installiert ist.

TL;DR

Betriebsumgebung

Einführung von WSL (Windows Subsystem für Linux) 2

Verwenden Sie dism.exe, um das für die WSL erforderliche Windows-Subsystem und die Plattform für virtuelle Maschinen für Linux zu installieren. Dieses Paket wird erst nach einem ** Neustart wirksam. Starten Sie Windows daher nach der Installation neu.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Installieren Sie dann das Linux-Kernel-Update-Paket. Installieren Sie die über den Link heruntergeladene Datei.

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Der folgende Befehl gibt die Standardversion für die neu eingeführte Linux-Distribution an, die im WSL2-Format installiert werden soll.

wsl --set-default-version 2

Wenn Sie dies nicht tun, wird die nächste Linux-Installation im WSL1-Format installiert.

Einführung in Linux Distribution (Ubuntu)

Der Link unter https://aka.ms/wslstore öffnet eine Galerie mit Linux-Distributionen, die Sie im Microsoft Store installieren können. Installieren Sie Ubuntu von dort.

Klicken Sie nach der Installation im Startmenü auf Ubuntu, um es zu starten. ** Aufgrund der anfänglichen Einstellung dauert es einige Minuten, aber es beginnt sofort ab dem nächsten Mal.

Sie werden nach dem Benutzernamen und dem Passwort für Ubuntu gefragt. Legen Sie diese hier fest.

Überprüfen Sie, ob es in WSL2 eingeführt wurde

Wenn Sie fertig sind, führen Sie den folgenden Befehl auf Ihrem Windows-Terminal aus (Eingabeaufforderung / PowerShell), um eine Liste Ihrer installierten Linux-Distributionen anzuzeigen.

wsl -l -v

Sie sollten so etwas sehen

   NAME                   STATE           VERSION
 * Ubuntu                 Running         2

Wenn VERSION nicht 2 ist, wird es in WSL1 eingeführt. Um auf VERSION 2 zu konvertieren, installieren Sie das "Linux Kernel Update Package" und setzen Sie die WSL-Version für das in WSL1 installierte Linux auf 2.

wsl --set-version Ubuntu 2

Die offizielle Dokumentation besagt, dass diese VERSION in beide Richtungen geändert werden kann.

Ubuntu-Paket-Update

Ich werde das Paket auch auf der Ubuntu-Seite aktualisieren. Ändern Sie zunächst die Quelle des Pakets auf den japanischen Server, damit das Update schneller erfolgt.

cd /etc/apt
sudo sed -i.bak -e "s/http:\/\/archive\.ubuntu\.com/http:\/\/jp\.archive\.ubuntu\.com/g" sources.list

Sie können das Ubuntu-Paket mit dem folgenden Befehl aktualisieren:

sudo apt update
sudo apt upgrade -y

Einführung in Windows Terminal

Ubuntu kann über das Startmenü gestartet werden, jedoch mit der Einführung von Windows Terminal

Sie können Terminals wie usw. in einem Fenster tabellieren. Das Starten jedes Terminals ist so einfach wie das Erstellen einer Registerkarte.

Windows Terminal kann im Microsoft Store installiert werden, in dem Ubuntu installiert ist.

Einführung in Docker Desktop für Windows

Führen Sie Docker für Docker Desktop für Windows ein. ** Docker wird nicht auf der Ubuntu-Seite installiert. ** **. Klicken Sie auf der offiziellen Seite unten auf Docker herunterladen, um das Installationsprogramm abzurufen. https://hub.docker.com/editions/community/docker-ce-desktop-windows

Wenn Sie das Installationsprogramm ausführen, sollte ein Kontrollkästchen für "WSL 2-Windows-Funktionen aktivieren" vorhanden sein. Aktivieren Sie dieses Kontrollkästchen und setzen Sie die Installation fort. Wenn Docker Desktop gestartet wird und das Tutorial-Fenster angezeigt wird, schließen Sie es.

Sie können sehen, dass die virtuelle Docker-Umgebung mit "wsl -l -v" vom Terminal auf der Windows-Seite gestartet wurde.

wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2

Sie können Docker-Befehle von einem Windows-Terminal aus ausführen.

docker run -it hello-world

Wenn Sie einen Container ziehen und starten, wird er in der Liste der Docker-Bilder registriert.

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        10 months ago       13.3kB

Der gleiche Dockewr-Vorgang kann von der Ubuntu-Seite ausgeführt werden, die nicht separat installiert werden sollte. Sie können es jetzt lokal in der CircleCI-CLI ausführen, die Docker verwendet.

Einführung von CircleCI CLI

Arbeiten Sie an einem Ubuntu-Terminal. Installieren Sie die CircleCI-CLI mit dem folgenden Befehl:

sudo sh -c "curl -fLSs https://circle.ci/cli | bash"

CircleCI-Kontoeinstellungen

Registrieren Sie Ihr CircleCI-Konto bei der CLI. Wenn Sie kein CircleCI-Konto haben, klicken Sie auf Neu. ](Https://circleci.com/ja/signup/)

Führen Sie nach der Installation der CircleCI-CLI "circleci setup" aus. Wenn "CircleCI API Token" angezeigt wird, klicken Sie auf das Symbol unten rechts im CircleCI Dashboard, um die Benutzereinstellungen anzuzeigen.

image.png

Klicken Sie auf Persönliche API-Token, um eine Liste der API-Token anzuzeigen. Klicken Sie auf Neues Token erstellen, um ein neues Token zu erstellen.

image.png

Wenn Sie den Namen des neu erstellten API-Tokens eingeben, wird das Token angezeigt. ** Da es nicht erneut angezeigt werden kann **, kopieren Sie es, geben Sie es früher in die CLI-Einstellungen ein und schließen Sie nach dem Akzeptieren den Dialog. Machen wir das.

Der Benutzername wird auf dem CircleCI CLI-Bildschirm angezeigt, um zu überprüfen, ob eine Kommunikation über das API-Token möglich ist.

Erstellen eines Projekts zur lokalen Ausführung

Die lokale Ausführung von CircleCI erfordert ein von Git verwaltetes Projekt. Führen Sie nach dem Erstellen eines neuen Verzeichnisses git init aus, um Git zu verwenden.

mkdir sample-project
cd sample-project
git init

Wenn Sie Git zum ersten Mal unter Ubuntu verwenden, müssen Sie den Namen und die E-Mail-Adresse des festgeschriebenen Benutzers registrieren.

Registrierungsbeispiel


git config --global user.email "[email protected]"
git config --global user.name "ysd-marrrr"

Erstellen Sie eine Datei, um ein Git-Commit durchzuführen.

echo "Hello World!" > README.md
git add README.md
git commit -m "1st commit"

Erstellen Sie nach dem Festschreiben von Git eine CircleCI-Konfigurationsdatei.

mkdir .circleci

Erstellen Sie "config.yml" im Verzeichnis ".circleci".

yml:./.circleci/config.yml


version: 2.0
jobs:
  build:
    docker:
      - image: circleci/ruby:2.4.2-jessie-node
    steps:
      - checkout
      - run: echo "Hello World"

Sie können die Konfigurationsdatei überprüfen, bevor Sie sie lokal ausführen. Sie können sehen, dass die Konfigurationsdatei mit "Konfigurationsdatei unter .circleci / config.yml ist gültig" korrekt ist.

circleci config validate

Führen Sie es lokal aus, wenn Sie bereit sind.

circleci local execute

Wenn Erfolg! Angezeigt wird, ist es erfolgreich! Wenn Sie hier "Docker-Images" ausführen, werden die in der Reihe von Vorgängen verwendeten CircleCI-Images lokal registriert.

Überprüfen Sie das Docker-Image von einem Windows-Gerät

Wenn Sie Docker-Images auf dieselbe Weise von einem Windows-Terminal ausführen, wird das CircleCI-Image registriert.

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
circleci/picard     latest              b85648cb1ea4        45 hours ago        94.5MB
hello-world         latest              bf756fb1ae65        10 months ago       13.3kB
circleci/ruby       2.4.2-jessie-node   54898fcdc277        2 years ago         968MB

Sie können Docker verwenden, das unter Ubuntu unter Windows installiert ist! Mit WSL2 und Docker Desktop für Windows müssen Sie Docker unter Ubuntu nicht erneut installieren.

Referenz

Installieren Sie Windows Subsystem für Linux (WSL) unter Windows 10 | Microsoft Docs https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

Verwenden Sie WSL2 als Backend für Docker Desktop für Windows | Developers.IO https://dev.classmethod.jp/articles/docker-desktop-for-windows-on-wsl2/

Ich habe versucht, Windows Subsystem für Linux 2 (WSL 2) | Developers.IO einzurichten https://dev.classmethod.jp/articles/how-to-setup-wsl2/

Installation und Ersteinrichtung von Ubuntu 18.04 unter WSL http://www.aise.ics.saitama-u.ac.jp/~gotoh/HowToInstallUbuntu1804OnWSL.html#toc11

Verwenden der lokalen CLI-CircleCI von CircleCI https://circleci.com/docs/ja/2.0/local-cli/

Recommended Posts

Erstellen Sie eine Umgebung, in der CircleCI lokal mit Windows 10 + WSL2 (Ubuntu) + Docker ausgeführt werden kann
Erstellen Sie eine Chisel-Entwicklungsumgebung mit Windows 10 + WSL2 + VScode + Docker
Erstellt eine Umgebung, in der Kotlin mit Docker mit CLI kompiliert und mit Java ausgeführt werden kann
Ich habe eine Ubuntu-Umgebung unter Windows 10 mit WSL2 erstellt.
Erstellen Sie mit Docker x Cypress eine E2E-Testumgebung
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie mit Docker eine SolrCloud-Überprüfungsumgebung
Erstellen Sie mit Docker eine Spring Boot-gradle-mysql-Entwicklungsumgebung
[Docker] Erstellen Sie mit Docker eine Node.js + Express + Webpack-Umgebung
Erstellen Sie eine Umgebung mit Docker unter AWS
[Memo] Erstellen Sie mit Docker ganz einfach eine CentOS 8-Umgebung
[Windows] [IntelliJ] [Java] [Tomcat] Erstellen Sie mit IntelliJ eine Umgebung für Tomcat 9
ubuntu20.04 (oder windows10) + anaconda + pytorch oder erstellen Sie eine Umgebung für Tensorflow
Erstellen Sie eine Spring Boot-Umgebung mit Windows + VS-Code
Erstellen Sie mit Docker (Ubuntu) eine Mecab-Umgebung (NEologd Dictionary).
[Rails] So erstellen Sie eine Umgebung mit Docker
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Erstellen Sie mit Docker eine Ruby2.7.x + Rails6.0.x + MySQL8.0.x-Umgebung
Bereich, in dem Variablen mit Ruby verwendet werden können [Scope]
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu