플러그인의 특정 버전만 체크아웃할 수 있나요?

app.yml 파일 내에서 플러그인의 특정 버전을 체크아웃하도록 rebuild를 설정할 수 있는 방법이 있을까요?

저는 master보다 오래된 브랜치에서 작업하고 있습니다. ./launcher rebuild app을 실행하면 제가 관리하지 않는 플러그인의 최신 버전이 가져와집니다. 해당 플러그인의 최신 버전은 오래된 버전의 discourse와 호환되지 않습니다. 이로 인해 테스트 환경에서 빌드가 실패합니다.

이상적으로는 app.yml에서 다른 플러그인과 함께 다음과 같은 형태로 설정할 수 있으면 좋겠습니다:

- git clone https:/github.com/path/to/plugin.git?commit=ec64234359282

대안적인 솔루션도 환영합니다. 해당 버전의 플러그인으로 discourse가 빌드되기만 하면 됩니다.

이를 위해 -b 플래그와 같은 표준 git 옵션을 사용할 수 있습니다.

불행히도 해당 플러그인에서는 내가 원하는 버전의 이름 지정된 브랜치를 제공하지 않습니다. 마스터 브랜치에서 특정 리비전(커밋 해시)을 가져오려고 하고 있습니다. -b 옵션이 커밋 해시와 함께 작동하는 것 같지 않습니다.

명령줄에서는 git clone을 실행한 후 git checkout으로 필요한 내용을 가져올 수 있습니다. app.yml에서 이를 수행하는 방법이 있을까요?

음, @Falco 님의 해결책은 효과가 있었지만, 다소 우회적인 방식으로 진행해야 했습니다.

  1. 원본 리포지토리를 포크했습니다.
  2. 개발 머신에 로컬로 클론했습니다.
  3. 원하는 커밋에서 제 브랜치를 생성했습니다.
    • git branch foo ec64ae8
  4. 해당 브랜치를 제 GitHub에 푸시했습니다.
    • git push -u origin foo
  5. app.yml을 다음과 같이 업데이트했습니다.
    • git clone -b foo git@github.com:my-repo.git

더 쉬운 방법이 있을 것 같은데, 일단 이렇게 하면 원하는 결과를 얻을 수 있습니다. 방향을 잡아주셔서 감사합니다, @Falco 님!

네, 새로운 플러그인들을 테스트 중인데 특히 채팅 플러그인이 제 사이트에서 깨진 것 같아 보이더라고요. 이전으로 설치되어 있던 버전으로 되돌리는 방법, 아니면 원하는 커밋 버전을 직접 입력하는 방법이 있는지 궁금합니다.

앞으로는 업그레이드 대시보드에 이런 기능이 추가되었으면 좋겠어요. 업그레이드를 취소하는 “되돌리기” 버튼 같은 거요. 지금은 그런 기능이 없어서, 여러분이 우회하기 위해 했던 것처럼 무리한 방법을 쓸 수밖에 없는 것 같거든요. 최소한 더 빠른 방법이 있기를 바라고 있습니다.