Настойка satis для пакетов composer в docker — Администрирование devops сопровождение проектов

Настойка satis для пакетов composer в docker

Настройка satis

satis — кеширующий сервер для пакетов php composer. Для настройки репозитория будем использовать официальный docker. Разработчикам понадобится редактировать файла конфигурации satis.json, для этого поднимем отдельный контейнер с sftp и ftp серверами внутри.

Файл конфиргурации в нашем случае должен располагаться тут: /srv/docker/satis/build/satis.json и содержит примерно следующее:

{
    \"name\": \"local/repo\",
    \"homepage\": \"http://satis:8001\",
    \"repositories\": [
        {
                \"type\": \"vcs\",
                \"url\": \"ssh://git@gitlab:22/project/project.git\"
        },
        {
            \"type\": \"composer\",
            \"url\": \"https://packagist.org\"
        }
    ],
    \"require\": {
        \"tw/config-parser\": \"*\",
        \"cloudcreativity/laravel-json-api\": \"^1.1\",
        \"fideloper/proxy\": \"^4\",
        ......................
        ... and other repo ...
        ......................
    },
    \"require-all\": false,
    \"require-dependencies\": true,
    \"archive\": {
        \"directory\": \"dist\",
        \"format\": \"tar\",
        \"skip-dev\": true
    }
}

Следующим шагом нужно запустить docker контейнер satis — docker-compose.yml описан ниже. Так же в этом файле описывается запуск sftp контейнера.

satis:
    image: composer/satis
    container_name: satis
    ports:
      - \"8001:8001\"
    volumes:
      - /srv/docker/satis/build:/build
      - /srv/docker/satis/composer:/composer
      - /srv/docker/satis/keys:/keys
      - /srv/docker/satis/ssh_config:/root/.ssh/config
    restart: always
    command: php -S 0.0.0.0:8001 -t /build/output


sftp-satis:
    image: casp/sftp-ftp
    container_name: sftp-satis
    volumes:
      - /srv/docker/satis/build:/build
    restart: always
    ports:
      - \"2213:22\"
    environment:
      - USER_NAME=sftpdev
      - USERID=0
      - PUBKEY=\'ssh-rsa ...... YOUR SSH KEY .... openssh-key\'

После старта satis выкачает репо описанные в конфиге, и будет поднят по адресу сервера на порту описанному в докерфайле. В нашем случае 8001.

Для того чтобы произвести обновление определенного пакета нужно выполнить команду ниже:

docker exec -it satis php /satis/bin/satis build /build/satis.json /build/output PKGNAME

Для обновления всех пакетов — имя команды опускается.

Другие новости
03.08.2024
Сервер упал «вчера» или назад в будущее. Настраиваем atop!

Всем привет доброго лета! Задача из уст заказчика звучала следующим образом : \»мониторинг яндекса сказал что сайт не работает, при этом сервер пингуется\». Ну первым делом лезу на подвластный мне сервер, смотрю логи : аптайм 100 дней, перезагрузок не было

Хранение конфигурационных файлов в Git (Gitlab)

Было время не хранил я ничего в гите, и было это не торт. Один неверный символ мог съесть уйму времени! Годы шли и однажды прислушался к совету друга программиста использовать гитлаб.   Сервисы которые по своей идеологии не пересекаются я