Cube์ ABLESTACK ๊ด๋ฆฌ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
On Fedora:
sudo dnf -y install git gcc gcc-c++ make autoconf automake libtool intltool \
glib2-devel libxslt-devel libmount-devel pam-devel \
systemd-devel json-glib-devel gnutls-devel krb5-devel \
nodejs npm xmlto rpm-build
์ด ๋ช ๋ น์ด๋ค์ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ ธ์(checkout) dist/ ๋๋ ํฐ๋ฆฌ๋ก ๋น๋ํ๋ ์์ ์ ์ํํฉ๋๋ค.
git clone https://github.com/qoxown12/ablecube-react.git
cd ablecube-react
make
๊ฐ๋ฐ ์์๋ ์ผ๋ฐ์ ์ผ๋ก git ํธ๋ฆฌ์์ ๋ฐ๋ก ๋ชจ๋์ ์คํํ๊ณ ์ถ์ ๋๊ฐ ๋ง์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ make devel-install์ ์คํํ๋ฉด, ์ฒดํฌ์์ํ ์ฝ๋๋ฅผ cockpit-bridge๊ฐ ํจํค์ง๋ฅผ ์ฐพ๋ ์์น์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ก ์ฐ๊ฒฐํฉ๋๋ค. ์๋์ผ๋ก ํ๊ณ ์ถ๋ค๋ฉด:
mkdir -p ~/.local/share/cockpit
ln -s `pwd`/dist ~/.local/share/cockpit/ablestack
์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ๋ค make ๋๋ ./build.js ๋ฅผ ์คํํ๊ณ , ๋ธ๋ผ์ฐ์ ์์ Cockpit ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ์ธ์.
watch mode๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋ ๋ณ๊ฒฝ ์๋ง๋ค ๋ฒ๋ค์ด ์๋์ผ๋ก ๋ค์ ์์ฑ๋ฉ๋๋ค.
npm run watch
๋ก์ปฌ์ ์ค์น๋ ๋ฒ์ ์ ์ ๊ฑฐํ๋ ค๋ฉด make devel-uninstall์ ์คํํ๊ฑฐ๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ง์ ์ ๊ฑฐํ์ญ์์ค.
rm ~/.local/share/cockpit/ablestack
Cockpit Files๋ .js ๋ฐ .jsx ํ์ผ์ JavaScript ์ฝ๋ ์คํ์ผ์ ์๋์ผ๋ก ๊ฒ์ฌํ๊ธฐ ์ํด ESLint๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด ESLint๋ฅผ ๋ค์ ๋ช ๋ น์ผ๋ก ์ง์ ์คํํ ์๋ ์์ต๋๋ค:
npm run eslint
์ผ๋ถ ๊ท์น ์๋ฐ์ ๋ค์ ๋ช ๋ น์ ํตํด ์๋์ผ๋ก ์์ ํ ์ ์์ต๋๋ค:
npm run eslint:fix
๊ท์น ์ค์ ์ .eslintrc.json ํ์ผ์์ ํ์ธํ ์ ์์ต๋๋ค
Cockpit์ .css ๋ฐ .scss ํ์ผ์ CSS ์ฝ๋ ์คํ์ผ์ ์๋์ผ๋ก ๊ฒ์ฌํ๊ธฐ ์ํด Stylelint๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด Stylelint๋ฅผ ๋ค์ ๋ช ๋ น์ผ๋ก ์ง์ ์คํํ ์๋ ์์ต๋๋ค:
npm run stylelint
์ผ๋ถ ๊ท์น ์๋ฐ์ ๋ค์ ๋ช ๋ น์ ํตํด ์๋์ผ๋ก ์์ ํ ์ ์์ต๋๋ค:
npm run stylelint:fix
๊ท์น ์ค์ ์ .stylelintrc.json ํ์ผ์์ ํ์ธํ ์ ์์ต๋๋ค
RPM์ ์์ฑํ๋ ค๋ฉด sh rpm-builder.sh ๋ฅผ ์คํํ์ธ์.
๋น๋๊ฐ ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๋ฌผ์ ./rpmbuild/RPMS/noarch/ ๊ฒฝ๋ก์ ์์ฑ๋ฉ๋๋ค.