<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="th">
	<id>http://planningwiki.oou.cmu.ac.th/index.php?action=history&amp;feed=atom&amp;title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_CI%2FCD_%E0%B8%A3%E0%B9%88%E0%B8%A7%E0%B8%A1%E0%B8%81%E0%B8%B1%E0%B8%9A_docker</id>
	<title>การทำ CI/CD ร่วมกับ docker - ประวัติรุ่นแก้ไข</title>
	<link rel="self" type="application/atom+xml" href="http://planningwiki.oou.cmu.ac.th/index.php?action=history&amp;feed=atom&amp;title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_CI%2FCD_%E0%B8%A3%E0%B9%88%E0%B8%A7%E0%B8%A1%E0%B8%81%E0%B8%B1%E0%B8%9A_docker"/>
	<link rel="alternate" type="text/html" href="http://planningwiki.oou.cmu.ac.th/index.php?title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_CI/CD_%E0%B8%A3%E0%B9%88%E0%B8%A7%E0%B8%A1%E0%B8%81%E0%B8%B1%E0%B8%9A_docker&amp;action=history"/>
	<updated>2026-05-17T10:45:22Z</updated>
	<subtitle>ประวัติรุ่นแก้ไขของหน้านี้ในวิกิ</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>http://planningwiki.oou.cmu.ac.th/index.php?title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_CI/CD_%E0%B8%A3%E0%B9%88%E0%B8%A7%E0%B8%A1%E0%B8%81%E0%B8%B1%E0%B8%9A_docker&amp;diff=11&amp;oldid=prev</id>
		<title>Admin: สร้างหน้าด้วย &quot;การทำ CI/CD กับ Docker สามารถทำได้โดยการตั้งค่า pipeline ที่จะทำการ build, test, และ deploy Docker images โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงใน code repository นี่คือตัวอย่างวิธีการตั้งค่า CI/CD ด้วย Docker โดยใช้ GitHu...&quot;</title>
		<link rel="alternate" type="text/html" href="http://planningwiki.oou.cmu.ac.th/index.php?title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_CI/CD_%E0%B8%A3%E0%B9%88%E0%B8%A7%E0%B8%A1%E0%B8%81%E0%B8%B1%E0%B8%9A_docker&amp;diff=11&amp;oldid=prev"/>
		<updated>2024-07-17T02:48:10Z</updated>

		<summary type="html">&lt;p&gt;สร้างหน้าด้วย &amp;quot;การทำ CI/CD กับ Docker สามารถทำได้โดยการตั้งค่า pipeline ที่จะทำการ build, test, และ deploy Docker images โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงใน code repository นี่คือตัวอย่างวิธีการตั้งค่า CI/CD ด้วย Docker โดยใช้ GitHu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;หน้าใหม่&lt;/b&gt;&lt;/p&gt;&lt;div&gt;การทำ CI/CD กับ Docker สามารถทำได้โดยการตั้งค่า pipeline ที่จะทำการ build, test, และ deploy Docker images โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงใน code repository นี่คือตัวอย่างวิธีการตั้งค่า CI/CD ด้วย Docker โดยใช้ GitHub Actions เป็นตัวอย่าง:&lt;br /&gt;
&lt;br /&gt;
ขั้นตอนการตั้งค่า CI/CD&lt;br /&gt;
&lt;br /&gt;
1. เตรียม Repository&lt;br /&gt;
&lt;br /&gt;
สร้างหรือใช้ repository ที่มีอยู่แล้วบน GitHub และสร้าง Dockerfile สำหรับการ build image ของคุณ ตัวอย่าง:&lt;br /&gt;
&lt;br /&gt;
Dockerfile&lt;br /&gt;
&lt;br /&gt;
# Dockerfile&lt;br /&gt;
&lt;br /&gt;
FROM php:7.4-apache&lt;br /&gt;
&lt;br /&gt;
# Install necessary extensions and tools&lt;br /&gt;
&lt;br /&gt;
RUN docker-php-ext-install pdo pdo_mysql mysqli&lt;br /&gt;
&lt;br /&gt;
# Copy application code to /var/www/html&lt;br /&gt;
&lt;br /&gt;
COPY ./www /var/www/html&lt;br /&gt;
&lt;br /&gt;
# Expose port 80&lt;br /&gt;
&lt;br /&gt;
EXPOSE 80 สร้างโครงสร้าง directory ดังนี้:&lt;br /&gt;
&lt;br /&gt;
my_project/ ├── www/ │   └── index.php └── Dockerfile&lt;br /&gt;
&lt;br /&gt;
2. สร้าง GitHub Actions Workflow&lt;br /&gt;
&lt;br /&gt;
สร้าง directory และไฟล์สำหรับ workflow:&lt;br /&gt;
&lt;br /&gt;
mkdir -p .github/workflows touch .github/workflows/ci-cd.yml&lt;br /&gt;
&lt;br /&gt;
3. แก้ไขไฟล์ ci-cd.yml ดังนี้:&lt;br /&gt;
&lt;br /&gt;
yaml&lt;br /&gt;
&lt;br /&gt;
name: CI/CD Pipeline&lt;br /&gt;
&lt;br /&gt;
on:&lt;br /&gt;
  push:&lt;br /&gt;
    branches:&lt;br /&gt;
      - main&lt;br /&gt;
  pull_request:&lt;br /&gt;
    branches:&lt;br /&gt;
      - main&lt;br /&gt;
jobs:&lt;br /&gt;
  build:&lt;br /&gt;
    runs-on: ubuntu-latest&lt;br /&gt;
&lt;br /&gt;
    steps:&lt;br /&gt;
    - name: Checkout code&lt;br /&gt;
      uses: actions/checkout@v2&lt;br /&gt;
&lt;br /&gt;
    - name: Set up Docker Buildx&lt;br /&gt;
      uses: docker/setup-buildx-action@v1&lt;br /&gt;
&lt;br /&gt;
    - name: Login to Docker Hub&lt;br /&gt;
      uses: docker/login-action@v2&lt;br /&gt;
      with:&lt;br /&gt;
        username: ${{secrets.DOCKER_USERNAME}}&lt;br /&gt;
        password: ${{secrets.DOCKER_PASSWORD}}&lt;br /&gt;
&lt;br /&gt;
    - name: Build and push Docker image&lt;br /&gt;
      uses: docker/build-push-action@v3&lt;br /&gt;
      with:&lt;br /&gt;
        context: .&lt;br /&gt;
        push: true&lt;br /&gt;
        tags: myusername/myapp:latest&lt;br /&gt;
&lt;br /&gt;
    - name: Deploy to Production Server&lt;br /&gt;
      if: github.ref == &amp;#039;refs/heads/main&amp;#039;&lt;br /&gt;
      run: |&lt;br /&gt;
        echo &amp;quot;Deploying to production server&amp;quot;&lt;br /&gt;
        ssh user@your_server &amp;#039;docker pull myusername/myapp:latest &amp;amp;&amp;amp; docker-compose -f /path/to/docker-compose.yml up -d&amp;#039;&lt;br /&gt;
4. ตั้งค่า Secrets บน GitHub&lt;br /&gt;
&lt;br /&gt;
ไปที่หน้า settings ของ repository บน GitHub และเลือก &amp;quot;Secrets and variables&amp;quot; &amp;gt; &amp;quot;Actions&amp;quot; จากนั้นเพิ่มค่า secrets ที่ต้องการ:&lt;br /&gt;
&lt;br /&gt;
DOCKER_USERNAME: Docker Hub username ของคุณ&lt;br /&gt;
&lt;br /&gt;
DOCKER_PASSWORD: Docker Hub password ของคุณ&lt;br /&gt;
&lt;br /&gt;
5. ตั้งค่า Docker Compose สำหรับ Production Server&lt;br /&gt;
&lt;br /&gt;
สร้างไฟล์ docker-compose.yml บน server ของคุณ:&lt;br /&gt;
&lt;br /&gt;
yaml&lt;br /&gt;
&lt;br /&gt;
version: &amp;#039;3.8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
services:&lt;br /&gt;
  web:&lt;br /&gt;
    image: myusername/myapp:latest&lt;br /&gt;
    container_name: php_web&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;80:80&amp;quot;&lt;br /&gt;
    volumes:&lt;br /&gt;
      - /path/to/www:/var/www/html&lt;br /&gt;
ขั้นตอนทั้งหมด&lt;br /&gt;
&lt;br /&gt;
เตรียม Repository: สร้าง repository และ Dockerfile&lt;br /&gt;
&lt;br /&gt;
สร้าง Workflow: สร้างและตั้งค่าไฟล์ ci-cd.yml ใน .github/workflows&lt;br /&gt;
&lt;br /&gt;
ตั้งค่า Secrets: ตั้งค่า Docker Hub credentials บน GitHub&lt;br /&gt;
&lt;br /&gt;
ตั้งค่า Production Server: ตั้งค่า Docker Compose บน production server&lt;br /&gt;
&lt;br /&gt;
ทดสอบ: Push code ไปยัง branch main และตรวจสอบว่า pipeline ทำงานตามที่คาดหวัง&lt;br /&gt;
&lt;br /&gt;
การทำงานของ Pipeline&lt;br /&gt;
&lt;br /&gt;
Checkout Code: ดึง code จาก repository&lt;br /&gt;
&lt;br /&gt;
Set up Docker Buildx: เตรียม Docker build environment&lt;br /&gt;
&lt;br /&gt;
Login to Docker Hub: ล็อกอินเข้าสู่ Docker Hub&lt;br /&gt;
&lt;br /&gt;
Build and Push Docker Image: Build Docker image และ push ไปที่ Docker Hub&lt;br /&gt;
&lt;br /&gt;
Deploy to Production: เมื่อ push ไปยัง branch main, จะทำการ pull Docker image ล่าสุดและ deploy โดยใช้ Docker Compose บน production server&lt;br /&gt;
&lt;br /&gt;
นี่คือขั้นตอนการตั้งค่า CI/CD แบบพื้นฐานด้วย Docker โดยใช้ GitHub Actions หวังว่าตัวอย่างนี้จะช่วยให้คุณสามารถเริ่มต้นใช้งาน CI/CD กับ Docker ได้อย่างง่ายดาย!&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>