Middle
Чӣ гуна бастаҳоро аз коди манбаъ ҷамъ мекардед? Мисолҳои скриптҳои Bash диҳед.
sobes.tech AI
Ҷавоб аз AI
Ман стандартии асбобҳои сохтмонро истифода мебарам, мисли Make, Autoconf, CMake, Maven (барои Java), npm (барои Node.js), вобаста ба навъи лоиҳа ва забон. Процес одатан чунин қадамҳоро дар бар мегирад:
- Гирифтани коди манбаъ: Клонидани репозиторӣ ё баровардани архив.
- Танзимоти сохтмон (агар зарур бошад): Иҷрои скриптҳои конфигуратсия, мисли
./configure. - Сохтмон: Иҷрои фармони асосии сохтмон, масалан
make. - Насб: ҷойгир кардани файлҳои сохташударо дар директорияҳои мақсаднок.
Маслиҳатҳои скриптҳои Bash барои сохтмон аз коди манбаъ:
Лоиҳаи оддӣ бо Make:
# Гирифтани коди манбаъ (мисол)
# git clone https://github.com/my_project/my_project.git
# cd my_project
# Сохтмон
make
# Насб (агар дар Makefile пешбинӣ шуда бошад)
# make install
Лоиҳа бо Autoconf/Make:
# Гирифтани коди манбаъ (мисол)
# wget https://example.com/software-1.0.tar.gz
# tar -xzf software-1.0.tar.gz
# cd software-1.0
# Танзими сохтмон
./configure --prefix=/usr/local
# Сохтмон
make
# Насб
# make install
Лоиҳа бо CMake:
# Гирифтани коди манбаъ (мисол)
# git clone https://github.com/another_project/another_project.git
# cd another_project
# Эҷоди директорияи сохтмон (маслиҳат дода мешавад)
mkdir build
cd build
# Танзими сохтмон
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/another_project
# Сохтмон
make
# Насб
# make install
Дар сохтмон дар пайплайни CI/CD, ман бисёр вақт истифода мебарам маҷмӯаҳои мураккабтар аз фармонҳо, ки дар бар мегиранд идоракунии вобастагиҳо, озмоишҳо ва бастабандӣ ба форматҳои гуногун (deb, rpm, тасвирҳои docker).