Halo semuanya. Di Convergent, tempat saya bekerja, tim proyek sering kali menyertakan beberapa pengembang: mereka bisa menjadi spesialis back-end, front-end, dan/atau tata letak. Proyek paling sering dikembangkan dalam PHP, yang mengarah pada ketergantungan pada berbagai badan eksternal seperti database, sistem pencarian teks lengkap, dan lainnya. Dan ada masalah besar di sini: rekan-rekan yang bekerja di Linux, yang merupakan dasar pengembangan web, tidak memiliki masalah. Pengguna Windows, di sisi lain, mulai pusing.
Bagaimana cara mengatasi masalah ini? Di perusahaan kami, kami menggunakan beberapa opsi. Pada artikel ini, saya memutuskan untuk membagikan perkembangan kami.
Opsi satu. Satu set alat yang sudah jadi seperti OSPanel atau XAMPP. Di sebagian besar proyek Yii yang kebanyakan hanya menggunakan MySQL, ini adalah solusi yang sangat bagus.
Opsi kedua adalah Docker. Ini bagus untuk mengotomatiskan penerapan, termasuk proyek lama. Tapi ini perlu dijaga. Sekarang, dengan rilis WSL 2, bekerja dengan Docker di Windows 10 (termasuk Home Edition) menjadi jauh lebih nyaman daripada sebelumnya. Ada banyak artikel tentang ini di Habrรฉ.
Pilihan ketiga adalah menempatkan Linux pada sistem kedua. Ini adalah proses yang agak menakutkan, jadi saya mengotomatiskannya menggunakan alat virtualisasi dan otomatisasi VirtualBox, Vagrant, dan Ansible.
GitHub . :
Ubuntu 20.04 . , , Ubuntu, .
Ansible (Git, Ansible, NVM, PHP, MC, Docker, Docker Compose, PhpStorm, Visual Code, DBeaver Community Edition). Ansible.
VirtualBox Vagrant. โ . BIOS/UEFI, - (, VT).
PowerShell Git :
git clone https://github.com/s-mokrushin/ubuntu-development-box
cd ubuntu-development-box
cp .env.example .env
โ .env . , Ubuntu 16 .
BOX_CPU_COUNT โ . = / 2. โ 4. โ 1.
BOX_MEMORY_SIZE โ . = / 2. โ 8096. โ 2048.
BOX_DISK_SIZE โ . โ 75GB. , ( 12 ).
BOX_IP_ADDRESS โ IP- . .
BOX_HOSTNAME โ . .
. . Git, SSH, id_rsa. Ansible /home/vagrant/.ssh.
:
vagrant up
Vagrant , vagrant up . . , .
Ansible, vagrant provision ( vagrant up โ provision, ).
Ansible. , โ Ansible, 3 .โ โ Ansibleโ. .
Linux , Windows 10. , , , Ansible Vagrant , .
, . - , .
OSPanel โ - Windows ( MongoDB, Redis . .).
XAMPP โ Apache + MariaDB + PHP + Perl Windows.
Ansible adalah sistem manajemen konfigurasi.
VirtualBox adalah sistem virtualisasi sistem operasi paling populer untuk workstation.
Vagrant adalah alat untuk mengonfigurasi lingkungan virtual.