Créez un environnement dans lequel CircleCI peut être exécuté localement avec Windows10 + WSL2 (Ubuntu) + Docker

Récemment, j'ai été enthousiasmé par l'environnement Windows et WSL (Windows Subsystem for Linux) 2, et j'ai senti que la puissance de CircleCI était insuffisante, j'ai donc créé un environnement où je peux tester CircleCI. C'est facile à installer, sauf si vous craignez de ne pas avoir à installer Docker sous Linux installé avec WSL.

TL;DR

Environnement d'exploitation

Introduction de WSL (sous-système Windows pour Linux) 2

Utilisez dism.exe pour installer le sous-système Windows et la plate-forme de machine virtuelle pour Linux requis pour WSL. Ce package ne prendra effet qu'au ** redémarrage, donc ** redémarrez Windows après l'installation.

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

Ensuite, installez le package de mise à jour du noyau Linux. Installez le fichier téléchargé à partir du lien.

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

La commande suivante spécifie la version par défaut de la nouvelle distribution Linux à installer au format WSL2.

wsl --set-default-version 2

Si vous ne le faites pas, la prochaine installation Linux sera installée au format WSL1.

Présentation de la distribution Linux (Ubuntu)

Le lien à l'adresse https://aka.ms/wslstore ouvre une galerie de distributions Linux que vous pouvez installer dans le Microsoft Store. Installez Ubuntu à partir de là.

Après l'installation, cliquez sur Ubuntu dans le menu Démarrer pour le démarrer. ** Cela prendra quelques minutes en raison du réglage initial, mais cela démarrera immédiatement à partir de la prochaine fois.

Il vous sera demandé le nom d'utilisateur et le mot de passe à utiliser avec Ubuntu, alors définissez-les ici.

Vérifiez s'il a été introduit dans WSL2

Lorsque vous avez terminé, exécutez la commande suivante sur votre terminal Windows (Invite de commandes / PowerShell) pour voir une liste de vos distributions Linux installées.

wsl -l -v

Vous devriez voir quelque chose comme ça

   NAME                   STATE           VERSION
 * Ubuntu                 Running         2

Si VERSION n'est pas 2, il est introduit dans WSL1. Pour convertir en VERSION 2, installez le "Linux Kernel Update Package", puis définissez la version WSL sur 2 pour le Linux installé dans WSL1.

wsl --set-version Ubuntu 2

La documentation officielle indique que cette VERSION peut être modifiée dans les deux sens.

Mise à jour du package Ubuntu

Je mettrai également à jour le package du côté Ubuntu. Tout d'abord, changez la source du package sur le serveur japonais afin que la mise à jour soit plus rapide.

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

Vous pouvez mettre à jour le package Ubuntu avec la commande suivante:

sudo apt update
sudo apt upgrade -y

Présentation du terminal Windows

Ubuntu peut être démarré à partir du menu Démarrer, mais avec l'introduction de Windows Terminal

Vous pouvez tabuler des terminaux tels que, etc. dans une seule fenêtre. Démarrer chaque terminal est aussi simple que de créer un onglet.

Le terminal Windows peut être installé à partir du Microsoft Store où Ubuntu est installé.

Présentation de Docker Desktop pour Windows

Présentez Docker pour Docker Desktop pour Windows. ** Docker ne sera pas installé du côté Ubuntu. ** ** Cliquez sur Obtenir Docker sur la page officielle ci-dessous pour obtenir le programme d'installation. https://hub.docker.com/editions/community/docker-ce-desktop-windows

Lorsque vous exécutez le programme d'installation, il doit y avoir une case à cocher pour «Activer les fonctionnalités Windows WSL 2», alors cochez-la et poursuivez l'installation. Lorsque Docker Desktop démarre et que la fenêtre du didacticiel apparaît, fermez-la.

Vous pouvez voir que l'environnement virtuel Docker a démarré avec wsl -l -v depuis le terminal côté Windows.

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

Vous pouvez exécuter des commandes Docker à partir d'un terminal Windows.

docker run -it hello-world

Si vous tirez un conteneur et le démarrez, il sera enregistré dans la liste des images docker.

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

La même opération Dockewr peut être effectuée du côté Ubuntu, qui n'aurait pas dû être installé séparément. Vous pouvez maintenant exécuter localement avec la CLI CircleCI à l'aide de Docker.

Introduction de CircleCI CLI

Travaillez sur un terminal Ubuntu. Installez la CLI CircleCI avec la commande suivante:

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

Paramètres du compte CircleCI

Enregistrez votre compte CircleCI avec la CLI. Si vous n'avez pas de compte CircleCI, cliquez sur Nouveau. ](Https://circleci.com/ja/signup/)

Après avoir installé la CLI CircleCI, exécutez circleci setup. Lorsque "CircleCI API Token" est affiché, cliquez sur votre icône affichée en bas à droite du tableau de bord CircleCI pour afficher les paramètres utilisateur.

image.png

Cliquez sur Jetons API personnels pour afficher une liste de jetons API. Cliquez sur Créer un nouveau jeton pour en créer un nouveau.

image.png

Si vous entrez le nom du jeton API nouvellement créé, le jeton sera affiché, mais ** car il ne peut plus être affiché **, copiez-le, entrez-le dans les paramètres CLI plus tôt, et après l'avoir accepté, fermez la boîte de dialogue. Faisons le.

Le nom d'utilisateur est affiché sur l'écran CLI CircleCI pour vérifier si la communication est possible à l'aide du jeton API.

Créer un projet pour une exécution locale

L'exécution locale de CircleCI nécessite un projet géré par Git. Après avoir créé un nouveau répertoire, exécutez git init pour utiliser Git.

mkdir sample-project
cd sample-project
git init

La première fois que vous utilisez Git sur Ubuntu, vous devez enregistrer le nom et l'adresse e-mail de l'utilisateur engagé.

Exemple d'inscription


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

Créez un fichier pour faire un commit Git.

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

Après avoir validé quelque chose avec Git, créez un fichier de configuration CircleCI.

mkdir .circleci

Créez config.yml dans le répertoire .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"

Vous pouvez vérifier le fichier de configuration avant de l'exécuter localement. Vous pouvez voir que le fichier de configuration est correct avec «Le fichier de configuration à .circleci / config.yml est valide».

circleci config validate

Exécutez-le localement lorsque vous êtes prêt.

circleci local execute

Si Success! S'affiche, cela signifie qu'il a réussi! Si vous exécutez des images docker ici, les images CircleCI utilisées dans la série d'opérations sont enregistrées localement.

Vérifiez l'image Docker à partir d'un appareil Windows

Si vous exécutez les images docker à partir d'un terminal Windows de la même manière, l'image CircleCI est enregistrée.

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

Vous pouvez utiliser Docker installé sur Windows à partir d'Ubuntu! Avec WSL2 et Docker Desktop pour Windows, vous n'avez pas besoin de réinstaller Docker sur Ubuntu.

référence

Installer le sous-système Windows pour Linux (WSL) sur Windows 10 | Microsoft Docs https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

Utiliser WSL2 comme backend pour Docker Desktop pour Windows | Developers.IO https://dev.classmethod.jp/articles/docker-desktop-for-windows-on-wsl2/

J'ai essayé de configurer le sous-système Windows pour Linux 2 (WSL 2) | Developers.IO https://dev.classmethod.jp/articles/how-to-setup-wsl2/

Installation et configuration initiale d'Ubuntu 18.04 sur WSL http://www.aise.ics.saitama-u.ac.jp/~gotoh/HowToInstallUbuntu1804OnWSL.html#toc11

Utilisation de la CLI-CircleCI locale de CircleCI https://circleci.com/docs/ja/2.0/local-cli/

Recommended Posts

Créez un environnement dans lequel CircleCI peut être exécuté localement avec Windows10 + WSL2 (Ubuntu) + Docker
Créer un environnement de développement Chisel avec Windows10 + WSL2 + VScode + Docker
Création d'un environnement où kotlin peut être compilé avec cli avec docker et exécuté avec java
J'ai construit un environnement Ubuntu sur Windows 10 en utilisant WSL2.
Créer un environnement de test E2E avec Docker x Cypress
Créez un environnement Vue3 avec Docker!
Créer un environnement de vérification SolrCloud avec Docker
Construire un environnement Rails 6 + MySQL avec Docker compose
Créer un environnement de développement Spring Boot-gradle-mysql avec Docker
[Docker] Créez un environnement Node.js + express + webpack avec Docker
Créer un environnement avec Docker sur AWS
[Memo] Créez facilement un environnement CentOS 8 avec Docker
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
ubuntu20.04 (ou windows10) + anaconda + pytorch ou créer un environnement pour tensorflow
Créer un environnement Spring Boot avec Windows + VS Code
Créer un environnement mecab (dictionnaire NEologd) avec Docker (ubuntu)
[Rails] Comment créer un environnement avec Docker
Créer un environnement de développement Spring Boot avec docker
Créez un environnement Ruby2.7.x + Rails6.0.x + MySQL8.0.x avec Docker
Plage où les variables peuvent être utilisées avec ruby [Scope]
[Note] Créez un environnement Java à partir de zéro avec docker