Deploy an Internal Wiki with Gatsby, GitHub Actions, App Service Container and Docker Hub
เรียนรู้แนวทางการพัฒนา Static Website หน้าตาคล้ายๆ Wiki ไว้เพื่อใช้ภายในองค์กร ด้วย Gatsby และเตรียม Release Package เป็น Docker Image ไปยัง Docker Hub เพื่อ Deploy ไปยัง Azure App Service แบบอัฒโนมัติด้วย GitHub Action
Published in
3 min readSep 21, 2021
ผมได้มีโอกาสบรรยายให้กับสถาบันการเงินแห่งนึงร่วมกับแอรอนในนาม Codesanook ครับ โดยเป็นหัวข้อที่เน้นไปที่เรื่องของการพัฒนา Internal Wiki เพื่อใ้เป็นช่องทางในการแบ่งปันความรู้ในองค์กร โดยเลือก Gatsby ซึ่งจัดการเนื้อหาได้สะดวกด้วย Markdown และไม่ต้องกังวลกับ Database เพราะสามารถที่จะ Export ทั้งเนื้อหาและภาพ ออกมาเป็น Static Website ได้เลยครับผม
สิ่งที่จะได้จากบทความ
สิ่งที่ต้องเตรียมก่อนจะเริ่มศึกษาบทความนี้
- WSL2 + Ubuntu 18.04 or 20.04
- Docker Desktop with integrated WSL2
- Node.js >= 12
- Yarn
- VS Code
- Azure CLI + Azure free account
- Git with SSH
- Docker Hub account
รายละเอียดที่เกี่ยวข้อง
เนื้อหา
- Benefit of Gatsby + Oauth2 proxy
- Explore our project and run it locally
- GitHub Actions 101
- Explore our GitHub Actions workflow
- Create a new App Service with Azure CLI
- GitHub Secrets
- Deploy with GitHub Actions to Azure App Service container and Docker Hub
เอกสาร
- https://docs.google.com/presentation/d/1cTkw0ITC4pYsVZzUperR7kjFSWIW7tH0_UxaPyqS-5Y/edit?usp=sharing
Source Code
ภาพเนื้อหาบางส่วนจากในเอกสาร
References
- Source Code https://github.com/codesanook/my-company-wiki/
- Docker Hub https://hub.docker.com
- Generating a new SSH key https://bit.ly/3gqUqFP , https://bit.ly/3at6SB0
- Adding a new SSH key to GitHub account https://bit.ly/3dCdDTc , https://bit.ly/3tFrrSx
- Register Docker Hub Account https://bit.ly/3xdnl6f
- Install Windows Terminal https://bit.ly/3dKx5Nw
- Install WSL2, Docker Desktop https://bit.ly/3szPe4Q
- Docker 101 https://bit.ly/2S4dzU1
- Install Ubuntu 18.04 LTS on WSL2 and enable Docker Desktop https://bit.ly/3ekau9L
- Install VS Code https://bit.ly/3dDyFk5
- Install C# extension for VS Code https://bit.ly/3xh9pbq
ขอบคุณมากๆเลยครับผม
นายป้องกัน