Я запускаю сервер узлов (в контейнере Docker) для прослушивания веб-залов github, поэтому я могу повторно развернуть его после обновления моего мастера.Мой домашний каталог содержит:
production/
app/webhooks/
docker-compose-webhooks.yml
deploy.sh
~ / docker-compose-webhooks.yml
version: '3'
services:
webhooks:
image: node:10.11.0-alpine
container_name: abis-webhooks
working_dir: /webhooks
environment:
NODE_ENV: production
PORT: 5050
GITHUB_SECRET: ${GITHUB_SECRET}
expose:
- '5050'
volumes:
- ./app/webhooks:/webhooks
command: /bin/sh -c 'npm install --production; npm start'
~ / deploy.sh
#!/bin/bash
cd ~/production && git pull origin master
...
...
Какой самый простой способ я могу назвать deploy.sh , который, очевидно, находится вне контейнера, где находится узел.
Я взял это из другого поста и добавилэто в узле:
exec(`docker run --rm -v /usr/bin:/usr/bin --privileged -v $(pwd)/depoly.sh:~/deploy.sh ubuntu bash ~/deploy.sh`)