Rancher Desktop เป็นโครงการโอเพ่นซอร์สที่นำ Kubernetes และการจัดการคอนเทนเนอร์มาสู่เดสก์ท็อป มันทำงานบน Windows, macOS และ Linux README นี้เกี่ยวข้องกับการพัฒนา Rancher Desktop สำหรับข้อมูลที่มุ่งเน้นผู้ใช้เกี่ยวกับ Rancher Desktop โปรดดู rancherdesktop.io สำหรับเอกสารสำหรับผู้ใช้ โปรดดูที่ docs.rancherdesktop.io
Rancher Desktop เป็นแอปพลิเคชั่นอิเล็กตรอนที่เขียนด้วย TypeScript เป็นหลัก โดยรวมเอาเทคโนโลยีอื่นๆ ที่หลากหลายเข้าด้วยกันเพื่อมอบการใช้งานที่สอดคล้องเป็นหนึ่งเดียว ประกอบด้วยเครื่องมือบรรทัดคำสั่ง rdctl
ซึ่งเขียนในภาษา Go กิจกรรมของนักพัฒนาส่วนใหญ่ เช่น การรันบิลด์การพัฒนา การสร้าง/แพ็คเกจ Rancher Desktop การรันการทดสอบหน่วย และการรันการทดสอบแบบ end-to-end จะดำเนินการผ่านสคริปต์ yarn
มีข้อยกเว้นบางประการ เช่น การรันการทดสอบ BATS
มีสองตัวเลือกสำหรับการสร้างจากแหล่งที่มาบน Windows: ด้วยการตั้งค่า Development VM หรือการตั้งค่าสภาพแวดล้อมการพัฒนาด้วยตนเองด้วยการติดตั้ง Windows ที่มีอยู่
ดาวน์โหลดเครื่องเสมือนการพัฒนา Microsoft Windows 10 ขั้นตอนต่อไปนี้ทั้งหมดควรทำในเครื่องเสมือนนั้น
เปิดพรอมต์ PowerShell (กด Windows Key + X
แล้วเปิด Windows PowerShell
)
เรียกใช้สคริปต์การตั้งค่าอัตโนมัติ:
ตั้งค่า ExecutionPolicy RemoteSigned - ขอบเขต CurrentUser iwr -useb 'https://github.com/rancher-sandbox/rancher-desktop/raw/main/scripts/windows-setup.ps1' | เช่น
ปิดพรอมต์ PowerShell ที่มีสิทธิ์
ตรวจสอบให้แน่ใจว่า msbuild_path
และ msvs_version
ได้รับการกำหนดค่าอย่างถูกต้องในไฟล์ . .npmrc
รันคำสั่งต่อไปนี้เพื่อตั้งค่าคุณสมบัติเหล่านี้:
npm config set msvs_version <visual-studio-version-number> npm config set msbuild_path <path/to/MSBuild.exe>
ตัวอย่างเช่นสำหรับ Visual Studio 2022:
npm config set msvs_version 2022 npm config set msbuild_path "C:Program FilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe"
หากคุณได้รับข้อความแสดงข้อผิดพลาดเมื่อพยายามเรียกใช้ npm config set...
ให้รัน npm config edit
แล้วเพิ่มบรรทัดเช่น
msvs_version=2022 msbuild_path=C:Program Files (x86)Microsoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe
อย่าอ้างอิงค่าไปทางด้านขวาของเครื่องหมายเท่ากับ ไม่จำเป็นต้องใช้เครื่องหมายคำพูด และอาจเป็นไปได้ที่โปรเซสเซอร์บางตัวจะถือว่าเป็นส่วนที่แท้จริงของเส้นทาง แล้วจึงล้มเหลว
กำหนดค่า git
ให้ทำงานกับไฟล์ที่มาจาก linux และ macos:
git config --global --replace-all core.autocrlf false git config --global --replace-all core.eol lf
หากคุณพบว่าการทดสอบ lint:go
ล้มเหลวอย่างลึกลับ อาจเป็นไปได้ว่าการลงท้ายบรรทัดไม่ถูกต้อง
ตอนนี้คุณสามารถโคลนพื้นที่เก็บข้อมูลและรัน yarn
ได้แล้ว
ติดตั้ง Windows Subsystem for Linux (WSL) บนเครื่องของคุณ ข้ามขั้นตอนนี้ หากติดตั้ง WSL ไว้แล้ว
เปิดพรอมต์ PowerShell (กด Windows Key + X
แล้วเปิด Windows PowerShell
)
ติดตั้ง Scoop ผ่าน iwr -useb get.scoop.sh | iex
ติดตั้ง 7zip, git, go, mingw, nvm และแตกไฟล์ผ่าน scoop install 7zip git go mingw nvm python unzip
ตรวจสอบเวอร์ชันของโหนดด้วย nvm list
หากไม่ได้ติดตั้งโหนด v20 หรือตั้งค่าเป็นเวอร์ชันปัจจุบัน ให้ติดตั้งโดยใช้ nvm install 20
และตั้งค่าเป็นปัจจุบันโดยใช้ nvm use 20.xx.xx
ติดตั้งตัวจัดการแพ็คเกจเส้นด้ายผ่าน npm install --global yarn
ติดตั้ง Visual Studio 2017 หรือสูงกว่า ในขณะที่เขียนบทความนี้ เวอร์ชันล่าสุดมีให้ที่ [https://visualstudio.microsoft.com/downloads/]; หากมีการเปลี่ยนแปลง เครื่องมือค้นหาที่ดีควรจะพบสิ่งนั้น
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งคอมโพเนนต์ Windows SDK
แล้ว เอกสาร Visual Studio นี้อธิบายขั้นตอนในการติดตั้งส่วนประกอบ จำเป็นต้องเลือกการพัฒนาเดสก์ท็อปด้วยปริมาณงาน C++ ด้วย
กำหนดค่า git
ให้ทำงานกับไฟล์ที่มาจาก linux และ macos:
git config --global --replace-all core.autocrlf false git config --global --replace-all core.eol lf
หากคุณพบว่าการทดสอบ lint:go
ล้มเหลวอย่างลึกลับ อาจเป็นไปได้ว่าการลงท้ายบรรทัดไม่ถูกต้อง 9. ตรวจสอบให้แน่ใจว่า msbuild_path
และ msvs_version
ได้รับการกำหนดค่าอย่างถูกต้องในไฟล์ . .npmrc
รันคำสั่งต่อไปนี้เพื่อตั้งค่าคุณสมบัติเหล่านี้:
npm config set msvs_version <visual-studio-version-number> npm config set msbuild_path <path/to/MSBuild.exe>
ตัวอย่างเช่นสำหรับ Visual Studio 2022:
npm config set msvs_version 2022 npm config set msbuild_path "C:Program FilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe"
หากคุณได้รับข้อความแสดงข้อผิดพลาดเมื่อพยายามเรียกใช้ npm config set...
ให้รัน npm config edit
แล้วเพิ่มบรรทัดเช่น
msvs_version=2022 msbuild_path=C:Program Files (x86)Microsoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe
อย่าอ้างอิงค่าไปทางด้านขวาของเครื่องหมายเท่ากับ ไม่จำเป็น และอาจเป็นไปได้ที่โปรเซสเซอร์บางตัวจะถือว่าเป็นส่วนหนึ่งของเส้นทางอย่างแท้จริง แล้วจึงล้มเหลว
ตอนนี้คุณสามารถโคลนพื้นที่เก็บข้อมูลและรัน yarn
ได้แล้ว
ติดตั้ง nvm
เพื่อรับ Node.js และ npm:
ดูhttps://github.com/nvm-sh/nvm#installing-and-updating และรันคำสั่ง curl
หรือ wget
เพื่อติดตั้ง nvm
โปรดทราบว่าสคริปต์นี้เพิ่มโค้ดที่เกี่ยวข้องกับ nvm
ให้กับไฟล์โปรไฟล์ (เช่น ~/.bash_profile
) หากต้องการเพิ่มการเข้าถึง nvm
ให้กับเซสชันเชลล์ปัจจุบัน คุณจะต้อง source
ไฟล์นั้น
ขณะนี้เราสร้าง Rancher Desktop ด้วย Node 20 หากต้องการติดตั้ง ให้รัน:
nvm install 20.17
ถัดไป คุณจะต้องติดตั้งตัวจัดการแพ็คเกจเส้นด้าย:
npm install --global yarn
คุณจะต้องเรียกใช้ brew install go
หากคุณยังไม่ได้ติดตั้ง go
จากนั้นคุณสามารถติดตั้งการพึ่งพาด้วย:
yarn
ทำงานกับ Mac ด้วยชิป M1 หรือไม่? คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อม
M1
ก่อนที่จะติดตั้งการขึ้นต่อกันและเรียกใช้สคริปต์ npm:export M1=1 yarnคุณจะต้องเรียกใช้
git clean -fdx
เพื่อล้างเนื้อหาที่แคชไว้ และดาวน์โหลดใหม่ด้วยส่วนโค้งที่ถูกต้องก่อนที่จะรันyarn
หากก่อนหน้านี้คุณติดตั้งการขึ้นต่อกันโดยไม่ตั้งค่าM1
ก่อน
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งสิ่งต่อไปนี้:
โหนด js เวอร์ชัน 20 ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งแพ็คเกจการพัฒนาแล้ว ตัวอย่างเช่น บน openSUSE Leap 15.6 คุณจะต้องติดตั้ง nodejs20
และ nodejs20-devel
เส้นด้ายคลาสสิก
ไป 1.22 หรือใหม่กว่า
การขึ้นต่อกันที่อธิบายไว้ในการติดตั้งเอกสาร node-gyp
สิ่งนี้จำเป็นสำหรับการติดตั้งแพ็คเกจ ffi-napi
npm เอกสารเหล่านี้กล่าวถึง "toolchain คอมไพเลอร์ C/C++ ที่เหมาะสม" คุณสามารถติดตั้ง gcc
และ g++
สำหรับสิ่งนี้
จากนั้นคุณสามารถติดตั้งการพึ่งพาด้วย:
yarn
จากนั้นคุณสามารถเรียกใช้ Rancher Desktop ตามที่อธิบายไว้ด้านล่าง อาจล้มเหลวในการเรียกใช้ครั้งแรก - หากเกิดเหตุการณ์นี้ ให้ลองรีเซ็ตเป็นค่าเริ่มต้นจากโรงงานและเรียกใช้ใหม่อีกครั้ง ซึ่งเป็นที่ทราบกันดีว่าสามารถแก้ไขปัญหานี้ได้
เมื่อคุณติดตั้งการอ้างอิงแล้ว คุณสามารถเรียกใช้ Rancher Desktop เวอร์ชันพัฒนาด้วย:
yarn dev
หากต้องการรันการทดสอบหน่วย:
yarn test
หากต้องการรันการทดสอบการรวม:
yarn test:e2e
Rancher สามารถสร้างขึ้นจากแหล่งที่มาบน Windows, macOS หรือ Linux ขณะนี้ยังไม่รองรับการคอมไพล์ข้าม ในการรันบิลด์ให้ทำ:
yarn build yarn package
เอาต์พุต build ไปที่ dist/
โปรแกรมแก้ไขข้อบกพร่องระยะไกลของ Chrome ช่วยให้คุณสามารถแก้ไขข้อบกพร่องแอป Electron โดยใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome คุณสามารถใช้เพื่อเข้าถึงข้อความบันทึกที่อาจส่งออกไปยังคอนโซลนักพัฒนาซอฟต์แวร์ของกระบวนการเรนเดอร์ สิ่งนี้มีประโยชน์อย่างยิ่งในการรับข้อมูลการแก้ไขเพิ่มเติมในรุ่นที่ใช้งานจริงของ Rancher Desktop
หากต้องการเปิดใช้งานการดีบักระยะไกล ให้เริ่ม Rancher Desktop ด้วยอาร์กิวเมนต์ --remote-debugging-port
บน Linux ให้เริ่ม Rancher Desktop ด้วยคำสั่งต่อไปนี้:
เจ้าของฟาร์มปศุสัตว์ --remote-debugging-port = "8315" --remote-allow-origins = http://localhost:8315
บน macOS ให้เริ่ม Rancher Desktop ด้วยคำสั่งต่อไปนี้:
/Applications/Rancher Desktop.app/Contents/MacOS/Rancher Desktop --remote-debugging-port="8315" --remote-allow-origins=http://localhost:8315
บน Windows ให้เริ่ม Rancher Desktop ด้วยคำสั่งต่อไปนี้:
cd 'C: โปรแกรม FilesRancher Desktop' & '.Rancher Desktop.exe' --remote-debugging-port = "8315" --remote-allow-origins = http://localhost:8315
หลังจากที่ Rancher Desktop เริ่มต้นแล้ว ให้เปิด Chrome และไปที่ http://localhost:8315/
เลือกเป้าหมายที่มีอยู่เพื่อเริ่มการดีบัก Rancher Desktop ระยะไกล
หากต้องการดีบักส่วนขยายแบบรีโมต ให้ทำตามขั้นตอนเดียวกับการดีบักบิลด์แบบรีโมต อย่างไรก็ตาม คุณจะต้องโหลดส่วนขยายก่อนที่จะไปที่ http://localhost:8315/
ทั้ง Rancher Desktop และส่วนขยายที่โหลดควรแสดงรายการเป็นเป้าหมายที่พร้อมใช้งาน
ขั้นตอนต่อไปนี้ได้รับการทดสอบกับ GoLand บน Linux แล้ว แต่อาจใช้ได้กับ JetBrains IDE อื่นๆ ในลักษณะเดียวกัน
ติดตั้งปลั๊กอิน Node.js (ผ่าน File > Settings > Plugins
)
ไปที่กล่องโต้ตอบ "Run/Debug Configurations" (ผ่าน Run > Edit Configurations...
)
เพิ่มการกำหนดค่า Node.js ใหม่ด้วยการตั้งค่าต่อไปนี้:
ชื่อ: ชื่อสำหรับการกำหนดค่าการดีบัก เช่น rancher desktop
ตัวแปลโหนด: เลือกตัวแปลโหนดที่ติดตั้งไว้ เช่น /usr/bin/node
พารามิเตอร์โหนด: scripts/ts-wrapper.js scripts/dev.ts
ไดเร็กทอรีการทำงาน: เลือกไดเร็กทอรีการทำงานของโครงการของคุณ เช่น ~/src/rancher-desktop
บันทึกการกำหนดค่า
ตอนนี้คุณสามารถตั้งค่าเบรกพอยต์และคลิก "ดีบัก 'เดสก์ท็อป rancher'" เพื่อเริ่มการดีบัก
การคอมมิตแต่ละครั้งจะทริกเกอร์การดำเนินการ GitHub ซึ่งส่งผลให้ชุดแอปพลิเคชัน ( .exe
s และ .dmg
s) ถูกอัปโหลดเป็นส่วนเสริม สิ่งนี้มีประโยชน์หากคุณต้องการทดสอบ Rancher Desktop รุ่นล่าสุดที่สร้างขึ้นโดยระบบการสร้าง คุณสามารถดาวน์โหลดอาร์ติแฟกต์เหล่านี้ได้จากหน้าสรุปของการดำเนินการ package
ที่เสร็จสมบูรณ์
เช่นเดียวกับ Windows และ macOS รุ่น Linux ของ Rancher Desktop สร้างขึ้นจากการกระทำแต่ละครั้ง อย่างไรก็ตาม บน Linux กระบวนการเพียงบางส่วนเท่านั้นที่ทำโดย GitHub Actions ส่วนสุดท้ายเสร็จสิ้นโดย Open Build Service
ที่เก็บ Rancher Desktop มีสองช่องทาง: dev
และ stable
. stable
คือช่องทางที่ผู้ใช้ส่วนใหญ่ใช้งาน เป็นสิ่งที่ผู้ใช้ได้รับคำสั่งให้เพิ่มในเอกสารอย่างเป็นทางการและอันที่มีบิลด์ที่สร้างขึ้นจากการเผยแพร่อย่างเป็นทางการ dev
เป็นช่องทางที่เราสนใจที่นี่: มันมีบิลด์ที่สร้างจากคอมมิตล่าสุดที่ทำในสาขา main
และในสาขาใด ๆ ที่ตรงกับรูปแบบ release-*
หากต้องการเรียนรู้วิธีติดตั้งที่เก็บข้อมูลการพัฒนา โปรดดูด้านล่าง
เมื่อใช้พื้นที่เก็บข้อมูล dev
สิ่งสำคัญคือต้องเข้าใจรูปแบบของเวอร์ชันของ Rancher Desktop ที่มีให้จากคลัง dev
เวอร์ชันอยู่ในรูปแบบ:
<priority>.<branch>.<commit_time>.<commit>
ที่ไหน:
priority
เป็นตัวเลขที่ไม่มีความหมายที่มีอยู่เพื่อให้เวอร์ชันที่สร้างจากสาขา main
มีลำดับความสำคัญมากกว่าเวอร์ชันที่สร้างจากสาขา release-*
เมื่อทำการอัพเดต
branch
คือชื่อสาขา ขีดกลางจะถูกลบออกเนื่องจากข้อจำกัดที่กำหนดโดยรูปแบบแพ็คเกจ
commit_time
คือการประทับเวลา UNIX ของการคอมมิตที่ใช้ในการสร้างบิลด์
commit
คือแฮชที่สั้นลงของ commit ที่ใช้ในการสร้าง build
.deb
คุณสามารถเพิ่ม repo ได้ด้วยขั้นตอนต่อไปนี้:
curl -s https://download.opensuse.org/repositories/isv:/Rancher:/dev/deb/Release.key | gpg --dearmor | sudo dd status=none of=/usr/share/keyrings/isv-rancher-dev-archive-keyring.gpg echo 'deb [signed-by=/usr/share/keyrings/isv-rancher-dev-archive-keyring.gpg] https://download.opensuse.org/repositories/isv:/Rancher:/dev/deb/ ./' | sudo dd status=none of=/etc/apt/sources.list.d/isv-rancher-dev.list sudo apt update
คุณสามารถดูเวอร์ชันที่มีได้ด้วย:
apt list -a rancher-desktop
เมื่อคุณพบเวอร์ชันที่คุณต้องการติดตั้งแล้ว คุณสามารถติดตั้งได้โดยใช้:
sudo apt install rancher-desktop=<version>
วิธีนี้ใช้งานได้แม้ว่าคุณจะติดตั้ง Rancher Desktop เวอร์ชันหนึ่งแล้วก็ตาม
.rpm
คุณสามารถเพิ่ม repo ด้วย:
sudo zypper addrepo https://download.opensuse.org/repositories/isv:/Rancher:/dev/rpm/isv:Rancher:dev.repo sudo zypper refresh
คุณสามารถดูเวอร์ชันที่มีได้ด้วย:
zypper search -s rancher-desktop
สุดท้าย ให้ติดตั้งเวอร์ชันที่คุณต้องการด้วย:
zypper install --oldpackage rancher-desktop=<version>
วิธีนี้ใช้งานได้แม้ว่าคุณจะติดตั้ง Rancher Desktop เวอร์ชันหนึ่งแล้วก็ตาม
ไม่มีที่เก็บสำหรับ AppImages แต่คุณสามารถเข้าถึง AppImage การพัฒนาล่าสุดได้ที่นี่
Rancher Desktop รองรับ API ที่ใช้ HTTP แบบจำกัด API ถูกกำหนดไว้ใน pkg/rancher-desktop/assets/specs/command-api.yaml
และคุณสามารถดูตัวอย่างวิธีการเรียกใช้ในโค้ดไคลเอ็นต์ได้ที่ go/src/rdctl
ปัจจุบัน API เป็นเวอร์ชัน 1 แต่ยังถือเป็นเวอร์ชันภายในและเวอร์ชันทดลอง และอาจมีการเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบล่วงหน้า ในบางจุดเราคาดว่าการเปลี่ยนแปลงที่จำเป็นใน API จะต้องผ่านการแจ้งคำเตือนและการเลิกใช้งาน
โปรดดูเอกสารเกี่ยวกับการบริจาค
โปรดดูไดเร็กทอรีเอกสารสำหรับเอกสารประกอบสำหรับนักพัฒนาเพิ่มเติม