Development

QT ๋ฆฌ๋ˆ…์Šค Deploy ๋ฐฉ๋ฒ•

JayKim๐Ÿ™‚ 2023. 11. 20. 12:08

QT์—์„œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŠน๋ณ„ํžˆ deploy ๊ธฐ๋Šฅ์ด ์ง€์› ๋˜์ง€ ์•Š๋Š”๋‹ค
ํ•˜์ง€๋งŒ ๋ณ„๋„์˜ QT ํˆด์„ ์ด์šฉํ•˜์—ฌ Deploy ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” ํˆด์€ cqtdeployer ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€ ํ•˜์˜€๋‹ค.
(์ฐธ๊ณ ๋กœ cqtdeployer ๋Š” ๋ฆฌ๋ˆ…์Šค์™€ ์œˆ๋„์šฐ ํ™˜๊ฒฝ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•œ๋‹ค.)

ํ•ด๋‹น github ์†Œ์Šค ์œ„์น˜๋Š” https://github.com/QuasarApp/CQtDeployer ์ด๋‹ค

cqtdeployer ์„ค์น˜

์„ค์น˜ ๋ฐฉ๋ฒ•์€ ์†Œ์Šค๋ฅผ ์ง์ ‘ ์„ค์น˜ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” Snap Store ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ช…๋ น์–ด ํ•˜๋‚˜๋กœ ๊ฐ„๋‹จํžˆ ์„ค์น˜ ๋œ๋‹ค

https://snapcraft.io/cqtdeployer

๋งํฌ ๋ฐฉ๋ฌธํ›„ Install ์„ ํด๋ฆญ ํ•˜๋ฉด ๋‚˜์˜ค๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด ์‹คํ–‰ ํ•˜๋ฉด ๋œ๋‹ค (snap ์ง€์› ๋ฆฌ๋ˆ…์Šค์— ํ•œํ•˜์—ฌ)

$ sudo snap install cqtdeployer

์„ค์น˜ snap ๋ชฉ๋ก ํ™•์ธ

$ snap list

์ผ๋ถ€ ์ƒ๋žต
cqtdeployer        1.6.2323.dd027b2  272    latest/stable    quasarrapp    -

๋กœ ํ™•์ธ ํ•ด๋ณด๋ฉด cqtdeployer ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค ํŒจํ‚ค์ง€

์ด์ œ ์‹ค์ œ๋กœ Qt ๋กœ ๋นŒ๋“œํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑ ํ•˜๊ณ  ํ•ด๋‹น ํด๋”๋กœ ์ด๋™์„ ํ•ด๋ณด์ž
์—ฌ๊ธฐ์„œ ์˜ˆ์ œ๋กœ BerEditor ๋ผ๋Š” ์‹คํ–‰ ํŒŒ์ผ์ด ์ƒ์„ฑ ๋˜๋ฉด ํ•ด๋‹น ํด๋”์—์„œ cqtdeployer -bin BerEditor ๋งŒ ์‹คํ–‰ ํ•˜๋ฉด ๋œ๋‹ค.

$ cd [๋ฐ”์ด๋„ˆ๋ฆฌ ์ƒ์„ฑ ํด๋”]
$ cqtdeployer -bin BerEditor

๋งŒ์•ฝ ์‹คํ–‰ ์ค‘์— ์„ค์ • ๊ด€๋ จ ๊ฒฝ๋กœ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด qmake ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด ์ฃผ์ž.

cqtdeployer ๋ช…๋ น์–ด ์—๋Ÿฌ์‹œ qmake ์œ„์น˜ ์ง€์ •

๋ช…๋ น ์˜ˆ์ œ ์ž„

cqtdeployer -bin BerEditor -qmake ~/Qt/5.13.2/gcc_64/bin/qmake

์—ฌ๊ธฐ์„œ "~/Qt/5.13.2/gcc_64/bin/qmake" ๋Š” ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ๋งž์ œ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
์œ„ ๋ช…๋ น์–ด ์‹คํ–‰์„ ํ•˜๋ฉด DistributionKit ํด๋”๊ฐ€ ์ƒ์„ฑ ๋จ

์ƒ์„ฑํ›„ DistributionKit ํด๋”์— ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด

cd DistributionKit
ls -l
total 20
-rwxrwxr-x  1 jykim jykim 1640 11์›” 20 15:46 BerEditor.sh
drwxrwxr-x  2 jykim jykim 4096 11์›” 20 15:45 bin
drwxrwxr-x  2 jykim jykim 4096 11์›” 20 15:45 lib
drwxrwxr-x 10 jykim jykim 4096 11์›” 20 12:02 plugins
drwxrwxr-x  2 jykim jykim 4096 11์›” 20 15:46 translations

์ด๋Ÿฐ๊ฒŒ ๊ด€๋ จ ํŒจํ‚ค์ง€ ๋ชฉ๋ก์ด ์ƒ๊ฒจ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ BerEditor.sh ํŒŒ์ผ์„ ์‹คํ–‰ ํ•˜๋ฉด ๋œ๋‹ค.
์‹คํ–‰ ์‹œ GLIBC XX ๊ด€๋ จ ์—๋Ÿฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด BerEditor.sh ํŒŒ์ผ์„ ์—ด์–ด์„œ ์•„๋ž˜ ๋‚ด์šฉ์„ ์ˆ˜์ • ํ•˜์ž

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$BASE_DIR"/lib/:"$BASE_DIR"

LD_LIBRARY_PATH ๊ฐ’์„ ์•ž์œผ๋กœ ์กฐ์ ˆ ํ•ด์ฃผ๋ฉด ๋จ
๊ทธ๋ฆฌ๊ณ  BerEditor.sh ์„ ์‹คํ–‰ ํ•˜๋ฉด ๋œ๋‹ค.
cqtdeployer ๋กœ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ ํ•˜์—ฌ ๋‚˜์˜จ ํŒŒ์ผ๋“ค์€ ์‹คํ–‰ ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ฑ์˜ ํŒŒ์ผ์„ ๋ฌถ์–ด ์ฃผ๋Š” ์—ญํ™œ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋ ‡๊ฒŒ ์ƒ์„ฑ ๋œ DistributionKit ํด๋”๋ฅผ zip ์œผ๋กœ ๋ฌถ์–ด์„œ ๋ฐฐํฌํ•˜๋ฉด ๋œ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

์œˆ๋„์šฐ๋‚˜ MacOS ๊ฒฝ์šฐ ํŒจํ‚ค์ง€ ๋ฐฉ์‹์ด ๊ฑฐ์˜ ์ •ํ•ด์ง„ ๋ฐฉ์‹์ด ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋ฆฌ๋ˆ…์Šค๋Š” ์•„์ง ํŒจํ‚ค์ง€ ์ง€์›์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ผ์„œ ์ผ๋‹จ ์ด๋ ‡๊ฒŒ ๊ด€๋ จ ํŒŒ์ผ ๋ฌถ์Œ์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ํ•˜์˜€๋‹ค.
์‚ฌ์‹ค ๋ฆฌ๋ˆ…์Šค์—์„œ rpm ๋˜๋Š” deb ๊ฐ™์€ ๋ฐฉ์‹์ด ์žˆ์ง€๋งŒ ์ด ๋ฐฉ์‹๋“ค์€ ์ง€์›ํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค์˜ ์˜์กด์„ฑ์ด ์žˆ์–ด์„œ
zip์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•˜์˜€๋‹ค.

์—ฌ๊ธฐ์„œ Deploy ์‹คํ–‰์€ ์šฐ๋ถ„ํˆฌ 20 ๋Œ€ ๋ฒ„์ „ 64๋น„ํŠธ ๋ชจ๋“œ์—์„œ ํ…Œ์ŠคํŠธ ํ•˜์˜€๋‹ค.

๋ฐ˜์‘ํ˜•