Sobes.tech
Middle

Чӣ гуна бастаҳоро аз коди манбаъ ҷамъ мекардед? Мисолҳои скриптҳои Bash диҳед.

sobes.tech AI

Ҷавоб аз AI

Ман стандартии асбобҳои сохтмонро истифода мебарам, мисли Make, Autoconf, CMake, Maven (барои Java), npm (барои Node.js), вобаста ба навъи лоиҳа ва забон. Процес одатан чунин қадамҳоро дар бар мегирад:

  1. Гирифтани коди манбаъ: Клонидани репозиторӣ ё баровардани архив.
  2. Танзимоти сохтмон (агар зарур бошад): Иҷрои скриптҳои конфигуратсия, мисли ./configure.
  3. Сохтмон: Иҷрои фармони асосии сохтмон, масалан make.
  4. Насб: ҷойгир кардани файлҳои сохташударо дар директорияҳои мақсаднок.

Маслиҳатҳои скриптҳои 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).