У меня есть приложение на Heroku
для моей GitHub dev
ветки. Я использую Semaphore
для своей непрерывной интеграции и развертывания.
Когда я нажимаю на свою ветку dev
на Github, Semaphore
начинает работать, и, если все пойдет хорошо, я могу развернуть наHeroku
нажимайте «Продвигать» благодаря моему /.semaphore/heroku.yml
файлу.
Прежде чем нажимать на повышение, у меня есть это в моем каталоге ~/public
:
Каталог содержимого перед продвижением:
Обратите внимание на ссылку "хранение" на /app/storage/app/public
.
В моем ~/storage/app/public/images/users
, яесть много пользовательских аватаров:
Список аватаров пользователей в каталоге
Теперь я нажимаю наПродвижение в семафор. Все идет хорошо:
Семафор ОК
НО ... после промоушена вот чтоУ меня на Heroku ...
В ~/public
моя ссылка на хранилище исчезла:
Ссылка на хранилище исчезла:
И в моем общедоступном хранилище, в ~/storage/app/public
, у меня нет каталога, и все мои аватары пользователей (первоначально в ~/storage/app/public/images/users
) были удалены:
Все исчезло:
Я думаю, это потому, что эти файлы не находятся в моем каталоге GitHub, что совершенно нормально.
Но я думаю Semaphore
отбрасывает все в каталоге и помещает все файлы, представленные в Github ...
Я использую git push heroku -f $SEMAPHORE_GIT_BRANCH:master
, вот мой
Файл Heroku.yml:
# .semaphore/heroku.yml
version: v1.0
name: Heroku DEV deployment
agent:
machine:
type: e1-standard-2
os_image: ubuntu1804
blocks:
- name: Deploy
task:
secrets:
- name: scenario-dev
env_vars:
- name: HEROKU_REMOTE
value: https://git.heroku.com/scenario-dev.git
jobs:
- name: Push code
commands:
- checkout --use-cache
- ssh-keyscan -H heroku.com >> ~/.ssh/known_hosts
- chmod 600 ~/.ssh/id_rsa_semaphore_heroku_dev
- ssh-add ~/.ssh/id_rsa_semaphore_heroku_dev
- git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/
- git remote add heroku $HEROKU_REMOTE
- git push heroku -f $SEMAPHORE_GIT_BRANCH:master
Я думаю, что что-то пропустил в моих файлах конфигурации. Спасибо всем за помощь!