-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add oauth2 github authentification #159
base: main
Are you sure you want to change the base?
Conversation
@devbulygin попробуй задеплоить, если хоть немного работает, мы посмотрим |
# Conflicts: # src/main/java/io/hexlet/typoreporter/config/SecurityConfig.java # src/main/resources/templates/login.html
@ssssank да, у меня не получается залить на рендер, он просит dockerfile, а тут docker compose, не могу разобраться |
@devbulygin Привет! Этот docker compose тебе не пригодится для деплоя, он нужен чтобы локально запустить базу данных в контейнере. А render предоставляет нам свою базу данных как сервис. Так что да, тут понадобится докерфайл. Тут ты верно начал. Внутри нужно будет скопировать приложение в контейнер, запустить сборку и упаковку. А в качестве команды запуска запустить джар архив с приложением. Глянь статью https://ru.hexlet.io/blog/posts/render-java, она поможет с общей последовательностью действий разобраться. Отличие в том, что тут мы мавен используем, так что команды поменяются. Но принцип тот же останется. Примеры команд упаковки и запуска приложения можно в мейкфайле подсмотреть |
@Malcom1986 FROM openjdk:19 COPY / . RUN ./mvnw -B -ntp -fae clean verify CMD java -jar -Dspring.profiles.active=dev ./target/typoreporter-*.jar EXPOSE 5432 |
Привет! Ты верно мыслишь в целом. Но смотри, у нас используется мавен, а значит нужно будет его установить или взять за основу такой образ, где помимо джавы еще и мавен установлен сразу. Можно взять официальный образ мавена:
Следущий момент. Скопировать внутрь мы должны файлы проекта. А значит должны копировать не из корня файловой системы, а из текущей директории (там, где у нас докерфайл лежит)
Дальше мы должны собрать проект и упаковать в джар. При этом тесты запускать нам не обязательно
Теперь у нас есть джарник с приложением. Осталось указать команду, которая выполнитс при старте контейнера. Это команда на запуск нашего приложения. Но только не с дев профилем, а уже с прод. Так как это не локальная разработка. Команду старта можно в procfile подглядеть:
Итого получаем такой докерфайл:
Осталось только создать в рендере базу данных и установить приложению в рендере переменные окружения (url базы, пользователь, пароль). Тут тебе статья про рендер поможет |
Давай только докерфайл не будем в ПР добавлять, он тебе только для деплоя на рендер нужен. Локально мы без докера пока приложение запускаем (в докере только база) |
Здорово, что получилось! Есть несколько замечаний, которые попались сразу: на странице входа есть возможность войти только через гитхаб, зарегистрироваться/войти через почту нельзя, кнопки потерялись. И ещё сервис падает с 500 ошибкой при попытке создать воркспейс, там кажется что-то с обработкой ошибок @Malcom1986 посмотри, что скажешь? :) |
@devbulygin Привет! Сборка упала, поправь пожалуйста |
@Malcom1986 Поправил! |
@devbulygin как-будто бы ничего не изменилось? :) |
К сожалению, экшен так и падает |
@devbulygin привет! Скажи, пожалуйста, будет у тебя возможность доделать этот ПР, нужна какая-нибудь помощь? |
Давайте гляну на неделе |
Пока перевожу в драфт @Malcom1986 можешь обрисовать небольшой, что нужно сделать дальше? |
@fey, здравствуйте! |
Добавил первую версию oauth2, подскажите куда двигаться дальше