چگونه می توان زمان ساخت Docker خود را در GitLab CI بهبود بخشید

عکس پروفایل نویسنده

با تسریع در ساخت Docker ، محیط های CI ظرف دار خود را واقعاً مفید کنید

چرخه توسعه نرم افزار مدرن به معنای بسته بندی برنامه های کاربردی شما اغلب به عنوان یک ظرف است. این کار ممکن است زمانبر باشد و ممکن است آزمایش یا استقرار شما را به میزان قابل توجهی کند کند. مشکل به ویژه در زمینه یکپارچه سازی و استقرار مداوم فرآیند که تصاویر در هر کد کد ساخته می شوند ، آشکار است.

در این مقاله ، ما در مورد راه های مختلف افزایش سرعت ساخت تصاویر Docker در یک خط لوله ادغام مداوم با اجرای استراتژی های مختلف ، بحث خواهیم کرد.

بسته بندی یک نمونه برنامه به صورت محلی

به عنوان مثال ، ابتدا از برنامه Python Flask استفاده خواهیم کرد. نمی توان ساده تر از آن بود:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

نوشتن Dockerfile

بیایید Dockerfile مربوطه را بنویسیم:

FROM python:3.7-alpine as builder

# install dependencies required to build python packages
RUN apk update && apk add --no-cache make gcc && pip install --upgrade pip


# setup venv and download or build dependencies
ENV VENV="/venv"
ENV PATH="${VENV}/bin:${PATH}"

COPY requirements.txt .
RUN python -m venv ${VENV} 
    && pip install --no-cache-dir -r requirements.txt

FROM python:3.7-alpine

# setup...