lcaohoanq
374 words
2 minutes
Chuyện đóng góp vào dự án nào đó trên Github
Chuyện là mình có clone một source về chạy (source microservices docker compose) như hướng dẫn
- emart-docker-compose.txt
# Clone source code of Emart Appgit clone https://github.com/devopshydclub/emartapp.gitlscd emartapp/ls
# Bring up containers from docker-compose filevim docker-compose.yamldocker compose up -ddocker compose psdocker ps -aip addr show
# Go to browser enter http://VMIp:80
# Clean updocker compose downdocker system prune -aexitexitvagrant halt- Oke làm tới docker compose up -d thì lỗi image notfound, thằng openjdk-8 không pull được
FROM openjdk:8 AS BUILD_IMAGE # Lỗi ở đâyWORKDIR /usr/src/app/RUN apt update && apt install maven -yCOPY ./ /usr/src/app/RUN mvn install -DskipTests
FROM openjdk:8
WORKDIR /usr/src/app/COPY --from=BUILD_IMAGE /usr/src/app/target/book-work-0.0.1-SNAPSHOT.jar ./book-work-0.0.1.jar
EXPOSE 9000ENTRYPOINT ["java","-jar","book-work-0.0.1.jar"]# Test- Vậy là mình lên google search thử “openjdk 8 docker image not found” thì ra kết quả là thằng openjdk 8 đã bị deprecate rồi, thay vào đó dùng thằng eclipse-temurin:8-jdk debian-base (temurin là tên mới của adoptopenjdk) và tinh chỉnh cho gọn lại
FROM eclipse-temurin:8-jdk AS buildWORKDIR /app
COPY . .RUN chmod +x mvnwRUN ./mvnw clean package -DskipTests
FROM eclipse-temurin:8-jdkWORKDIR /app
COPY --from=build /app/target/*.jar app.jar
EXPOSE 9000ENTRYPOINT ["java","-jar","app.jar"]Á chết mình quên fork source về từ đầu rồi sửa, giờ mình muốn tạo PR thì làm sao nhỉ?
1. Fork về (lười vãi không skip bước này về được)
- Fork về github cá nhân
2. Set add fork remote
- Test thay đổi bằng
git remote -v
git remote -v
# origin https://github.com/devopshydclub/emartapp.git (fetch)# origin https://github.com/devopshydclub/emartapp.git (push)- Thêm fork remote
git remote add fork git@github.com:lcaohoanq/emartapp.git- Test lại remote xem đã thêm thành công chưa
git remote -v
# fork git@github.com:lcaohoanq/emartapp.git (fetch)# fork git@github.com:lcaohoanq/emartapp.git (push)# origin https://github.com/devopshydclub/emartapp.git (fetch)# origin https://github.com/devopshydclub/emartapp.git (push)3. Tạo branch mới và Push lên fork remote
- Nên tạo một branch mới theo convention branch
git checkout -b fix-dockerfile-openjdk-image- Push thay đổi
- Chú ý là push lên remote là fork chứ không phải origin nhé
git commit -am "Fix Dockerfile openjdk image not found issue"git push fork fix-dockerfile-openjdk-image- Cuối cùng thì vào github cá nhân tạo PR từ branch fix-dockerfile-openjdk-image lên repo gốc là xong
Dặn dò cuối cùng, set-url dùng ssh thay vì https để khỏi bị hỏi password liên tục nhé, nếu nhầm thì có thể sửa lại set-url với ssh nha:
git remote set-url fork git@github.com:lcaohoanq/emartapp.git Chuyện đóng góp vào dự án nào đó trên Github
https://blog.lcaohoanq.works/posts/contribute-to-oss-project/