Start with GitLab.
Work like a developer.เริ่มต้น GitLab
แบบที่ Developer ใช้งานจริง
A beginner-friendly hands-on workshop covering the essential GitLab workflow: repository, commit, branch, merge request, and pipeline.เวิร์กชอปสำหรับผู้เริ่มต้น เรียนรู้ workflow สำคัญของ GitLab ตั้งแต่ Repository, Commit, Branch, Merge Request ไปจนถึง Pipeline แบบลงมือทำจริง
Workshop Overviewภาพรวม Workshop
GitLab is more than a place to store code. It helps developers keep history, work safely in branches, review changes, and run automated checks before code is merged.GitLab ไม่ได้มีไว้แค่เก็บโค้ด แต่ช่วยให้ Developer เก็บประวัติการแก้ไข แยกงานด้วย Branch ตรวจงานผ่าน Merge Request และรันการตรวจสอบอัตโนมัติก่อน Merge
GitLab 101 — What is GitLab?GitLab 101 — GitLab คืออะไร?
GitLab is a DevSecOps platform built around Git. For this starter workshop, we focus on the core development workflow you will see in real software teams.GitLab คือแพลตฟอร์ม DevSecOps ที่ทำงานร่วมกับ Git สำหรับ Starter Workshop นี้ เราจะโฟกัสเฉพาะ workflow พื้นฐานที่พบในทีมพัฒนาซอฟต์แวร์จริง
Repository
The home of your project files and complete change history.พื้นที่เก็บไฟล์ของโปรเจกต์และประวัติการเปลี่ยนแปลงทั้งหมด
Commit
A saved checkpoint describing what changed in your project.จุดบันทึกการเปลี่ยนแปลง พร้อมข้อความอธิบายว่าแก้อะไร
Branch
A separate line of work that lets you change code without immediately touching main.พื้นที่ทำงานแยกจาก main เพื่อให้แก้โค้ดได้อย่างปลอดภัย
Merge Request
A place to review a change before bringing it back into main.พื้นที่สำหรับตรวจสอบการเปลี่ยนแปลงก่อนนำกลับเข้า main
Pipeline
Automated jobs that test or validate your code after a change.ชุดงานอัตโนมัติที่ใช้ตรวจสอบโค้ดหลังมีการเปลี่ยนแปลง
main
The primary branch that should contain the stable version of your project.Branch หลักที่ควรเก็บเวอร์ชันที่เสถียรของโปรเจกต์
Get Readyเตรียมความพร้อม
Before starting the labs, confirm that your GitLab account and local Git environment are ready.ก่อนเริ่ม Lab ให้ตรวจสอบว่า GitLab account และ Git บนเครื่องพร้อมใช้งาน
- GitLab.com account created and email verifiedมี GitLab.com account และ Verify email เรียบร้อย
- Able to sign in to GitLab.comสามารถ Sign in เข้า GitLab.com ได้
- Git installed on your laptopติดตั้ง Git บนเครื่องแล้ว
- Terminal available: PowerShell / Terminalมี Terminal ที่ใช้งานได้ เช่น PowerShell / Terminal
- A simple project folder containing index.htmlมีโฟลเดอร์โปรเจกต์ตัวอย่างที่มีไฟล์ index.html
Connect Kiro to GitLabเชื่อม Kiro กับ GitLab
Start with the project already open in Kiro, create an empty GitLab project, then connect your local folder to the remote repository.เริ่มจากโปรเจกต์ที่เปิดอยู่ใน Kiro สร้าง GitLab Project แบบว่าง แล้วเชื่อมโฟลเดอร์บนเครื่องเข้ากับ Remote Repository
Create and connect the repositoryสร้างและเชื่อม Repository
- Create a blank project on GitLab.com.สร้าง Blank Project บน GitLab.com
- Leave Initialize repository with a README unchecked.ไม่ต้องเลือก Initialize repository with a README
- Copy the HTTPS clone URL.Copy Clone URL แบบ HTTPS
- Open Terminal in the Kiro project folder and connect it to GitLab.เปิด Terminal ในโฟลเดอร์ Kiro แล้วเชื่อมเข้ากับ GitLab
git init git branch -M main git remote add origin <your GitLab HTTPS URL>
git remote add origin ... connects the local Git repository in your Kiro project to the remote repository on GitLab. origin is the name Git uses for that remote location.git remote add origin ... คือการเชื่อม Local Git Repository ที่อยู่ใน Project ของ Kiro เข้ากับ Remote Repository บน GitLab โดย origin คือชื่อที่ Git ใช้เรียก Remote นี้Verify the Kiro ↔ GitLab connectionตรวจสอบว่า Kiro ↔ GitLab เชื่อมกันแล้ว
Before committing or pushing anything, confirm that the correct GitLab remote has been configured.ก่อน Commit หรือ Push ให้ตรวจสอบก่อนว่า Local Project ชี้ไปยัง GitLab Repository ที่ถูกต้องแล้ว
git remote -v
You should see something similar to:ควรเห็นผลลัพธ์ประมาณนี้:
origin https://gitlab.com/username/project.git (fetch) origin https://gitlab.com/username/project.git (push)
Make Your First Commitสร้าง Commit แรก
Use Kiro's Source Control view so participants can see exactly which files changed before saving a checkpoint.ใช้หน้า Source Control ใน Kiro เพื่อให้เห็นว่าไฟล์ไหนเปลี่ยน ก่อนบันทึกการเปลี่ยนแปลงเป็น Commit
Change → Review → Commit
- Edit a small part of your HTML file in Kiro.แก้ข้อความเล็กน้อยในไฟล์ HTML ผ่าน Kiro
- Open Source Control and look at the changed file.เปิด Source Control แล้วดูไฟล์ที่มีการเปลี่ยนแปลง
- Review the diff before committing.ดู Diff ว่าแก้อะไรไปบ้างก่อน Commit
- Enter a message such as
Update homepage titleand commit.ใส่ข้อความ เช่นUpdate homepage titleแล้ว Commit
Push & Pull — Local Meets RemotePush & Pull — เมื่อ Local ทำงานร่วมกับ Remote
First push your local commit to GitLab. Then use GitLab Web IDE to simulate another developer changing the remote project, and pull that change back into Kiro.เริ่มจาก Push Commit จากเครื่องขึ้น GitLab จากนั้นใช้ GitLab Web IDE จำลองว่า Developer อีกคนเข้ามาแก้งานบน Remote แล้ว Pull การเปลี่ยนแปลงนั้นกลับลงมาใน Kiro
Send your commit to GitLabส่ง Commit ขึ้น GitLab
git push --set-upstream origin main
Simulate another developerจำลองว่ามี Developer อีกคนแก้งาน
- Open the same project in GitLab Web IDE.เปิด Project เดิมผ่าน GitLab Web IDE
- Pretend this browser session is Developer B.สมมติว่า Web IDE นี้คือ Developer B
- Change one obvious text value, for example a heading or footer.แก้ข้อความที่สังเกตเห็นง่าย เช่น Heading หรือ Footer
- Commit the change directly in Web IDE.Commit การเปลี่ยนแปลงผ่าน Web IDE
Bring the remote change back to Kiroดึง Change จาก GitLab กลับเข้า Kiro
git pull
- Return to Kiro.กลับมาที่ Kiro
- Run
git pull.รันgit pull - Open the HTML file again and find the text changed in Web IDE.เปิดไฟล์ HTML แล้วหา Text ที่เพิ่งแก้จาก Web IDE
BranchBranch
Learn why developers avoid changing main directly and how a branch creates a safe workspace.เรียนรู้ว่าทำไม Developer ไม่ควรแก้ main โดยตรง และ Branch ช่วยแยกพื้นที่ทำงานอย่างไร
Create a feature branchสร้าง Feature Branch
- Open Code → Web IDE.
- Create branch
feature/update-homepagefrommain. - Edit a small part of
index.html. - Review the diff.
- Commit with a clear message such as
Update homepage title.
Merge RequestMerge Request
A Merge Request lets you compare, discuss, and review a branch before merging it into main.Merge Request ใช้สำหรับเปรียบเทียบ ตรวจสอบ และ Review การเปลี่ยนแปลงก่อน Merge เข้า main
- Create a Merge Request from
feature/update-homepagetomain. - Open the Changes tab.
- Check exactly what lines were added or removed.
- Confirm the change is what you intended.
Your First PipelinePipeline แรกของคุณ
A pipeline runs automated jobs. For this starter lab, we only check whether index.html exists.Pipeline ใช้รันงานแบบอัตโนมัติ ใน Lab นี้เราจะเริ่มง่าย ๆ ด้วยการตรวจว่าไฟล์ index.html มีอยู่จริง
.gitlab-ci.yml
stages:
- test
check-html:
stage: test
script:
- test -f index.html
- echo "index.html found"
- Create
.gitlab-ci.yml. - Commit the file to your feature branch.
- Open the Merge Request and watch the pipeline run.
- Wait for the pipeline to show Passed.
- Merge the Merge Request into
main.
Starter Troubleshootingแก้ปัญหาเบื้องต้น
Common errors you may see during your first GitLab workflow.Error ที่มักพบเมื่อเริ่มใช้งาน GitLab ครั้งแรก
remote origin already exists
git remote set-url origin <your GitLab HTTPS URL>
Permission denied (publickey)
You copied an SSH URL. Use the HTTPS clone URL instead.คุณ Copy URL แบบ SSH มา ให้เปลี่ยนไปใช้ Clone URL แบบ HTTPS
nothing to commit, working tree clean
There is no new change to commit. You can continue to the next step.ไม่มี Change ใหม่ให้ Commit สามารถไปขั้นตอนถัดไปได้
Browser sign-in does not appear
Check the taskbar, confirm your default browser, then retry git push.ตรวจ taskbar และ default browser แล้วลอง git push ใหม่
What You Will Learnเมื่อจบ Workshop คุณจะทำอะไรได้บ้าง
- Explain what GitLab is and how it fits into a developer workflowอธิบายได้ว่า GitLab คืออะไร และอยู่ตรงไหนใน workflow ของ Developer
- Create a GitLab repository and push code from your laptopสร้าง Repository และ Push โค้ดจากเครื่องขึ้น GitLab ได้
- Use commits to keep a history of changesใช้ Commit เพื่อเก็บประวัติการเปลี่ยนแปลงได้
- Explain and demonstrate Push (Local → Remote) and Pull (Remote → Local)อธิบายและทดลอง Push (Local → Remote) และ Pull (Remote → Local) ได้
- Create a branch and work without directly changing mainสร้าง Branch และทำงานโดยไม่แก้ main โดยตรงได้
- Open and review a Merge Requestเปิดและ Review Merge Request ได้
- Understand what a pipeline does and read a basic CI resultเข้าใจว่า Pipeline ทำอะไร และอ่านผล CI พื้นฐานได้