Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So verwenden Sie Docker für kontinuierliche Integration und kontinuierliche Bereitstellung

So verwenden Sie Docker für kontinuierliche Integration und kontinuierliche Bereitstellung

Nov 08, 2023 pm 01:28 PM
docker 持续集成 持续部署

So verwenden Sie Docker für kontinuierliche Integration und kontinuierliche Bereitstellung

So verwenden Sie Docker für kontinuierliche Integration und kontinuierliche Bereitstellung

Mit der rasanten Entwicklung der Softwareentwicklung sind kontinuierliche Integration und kontinuierliche Bereitstellung zu einem unverzichtbaren Bestandteil des modernen Softwareentwicklungsprozesses geworden. Als Containerisierungsplattform kann Docker den Prozess der kontinuierlichen Integration und kontinuierlichen Bereitstellung erheblich vereinfachen. In diesem Artikel wird die Verwendung von Docker für kontinuierliche Integration und kontinuierliche Bereitstellung vorgestellt und spezifische Codebeispiele bereitgestellt.

1. Kontinuierliche Integration

Kontinuierliche Integration bezieht sich auf die häufige Zusammenführung der Codeänderungen von Entwicklern in einem gemeinsamen Repository und deren häufiges Erstellen und Testen. Die Verwendung von Docker für die kontinuierliche Integration kann die Umgebungskonfiguration und den Erstellungsprozess vereinfachen und die Entwicklungseffizienz verbessern.

  1. Dockerfile erstellen

Dockerfile ist eine Skriptdatei, die zum Erstellen eines Docker-Images verwendet wird. Erstellen Sie eine Datei mit dem Namen Dockerfile im Stammverzeichnis des Projekts und fügen Sie das folgende Codebeispiel hinzu:

# 使用官方的 Node.js 镜像作为基础镜像
FROM node:alpine

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json 到工作目录
COPY package*.json ./

# 安装项目依赖
RUN npm install

# 将项目文件复制到工作目录
COPY . .

# 暴露端口
EXPOSE 3000

# 运行应用
CMD ["npm", "start"]
Nach dem Login kopieren

Diese Dockerfile definiert ein Node.js-basiertes Image und installiert die Abhängigkeiten des Projekts im Image und in den Dateien der Anwendung und kopiert den Code in das Arbeitsverzeichnis . Stellen Sie abschließend den Port bereit und führen Sie die Anwendung aus.

  1. Erstellen Sie das Docker-Image

Verwenden Sie im Stammverzeichnis des Projekts den folgenden Befehl, um das Docker-Image zu erstellen:

docker build -t my-app .
Nach dem Login kopieren

Dieser Befehl erstellt ein Image mit dem Namen my-app basierend auf der Definition der Dockerfile-Datei.

  1. Containerisiertes Testen

Erstellen Sie eine Datei namens docker-compose.test.yml im Stammverzeichnis des Projekts und fügen Sie das folgende Codebeispiel hinzu:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    depends_on:
      - db
    command: npm run test
  db:
    image: mongo
Nach dem Login kopieren

Diese Datei docker-compose.test.yml definiert zwei Dienste, einer ist der Der App-Dienst ist unser Anwendungsdienst und der andere ist der DB-Dienst, der unser Datenbankdienst ist. Diese Datei weist Docker an, zwei Dienste auszuführen und Testbefehle im App-Dienst auszuführen.

Verwenden Sie im Stammverzeichnis des Projekts den folgenden Befehl, um den Testcontainer auszuführen:

docker-compose -f docker-compose.test.yml up
Nach dem Login kopieren

Dieser Befehl startet die App- und DB-Dienste und führt den Testbefehl aus.

  1. Automatisierte kontinuierliche Integration

Der Zweck der kontinuierlichen Integration besteht darin, die Codeänderungen der Entwickler schnell und häufig in den Hauptcode zu integrieren und automatisierte Builds und Tests durchzuführen. Sie können Tools wie Jenkins und GitLab CI verwenden, um eine automatisierte kontinuierliche Integration zu implementieren.

Nehmen Sie Jenkins als Beispiel, erstellen Sie eine Datei mit dem Namen Jenkinsfile und fügen Sie das folgende Codebeispiel hinzu:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh 'docker build -t my-app .'
            }
        }
        stage('Test') {
            steps {
                sh 'docker-compose -f docker-compose.test.yml up'
            }
        }
    }
}
Nach dem Login kopieren

Diese Jenkins-Datei definiert eine Jenkins-Pipeline, die zwei Phasen enthält: Erstellen und Testen. Führen Sie den Befehl docker build命令构建Docker镜像,在测试阶段执行docker-compose während der Build-Phase aus, um den Testcontainer zu starten.

Fügen Sie die Jenkinsfile-Datei zum Stammverzeichnis des Projekts hinzu und konfigurieren Sie den Jenkins-Server für die automatisierte kontinuierliche Integration.

2. Kontinuierliche Bereitstellung

Kontinuierliche Bereitstellung bezieht sich auf die automatische Bereitstellung von Code in der Produktionsumgebung nach Abschluss der kontinuierlichen Integration. Die Verwendung von Docker für die kontinuierliche Bereitstellung kann den Bereitstellungsprozess erheblich vereinfachen.

  1. Docker-Image erstellen

Erstellen Sie mithilfe der in den vorherigen Schritten erstellten Docker-Datei ein Docker-Image, das den Anwendungscode enthält.

  1. Schreiben der Datei „docker-compose.yml“

Erstellen Sie eine Datei mit dem Namen „docker-compose.yml“ im Stammverzeichnis des Projekts und fügen Sie das folgende Codebeispiel hinzu:

version: '3'
services:
  app:
    image: my-app:latest
    restart: always
    ports:
      - 80:3000
Nach dem Login kopieren

Diese Datei „docker-compose.yml“ weist Docker an, eine Datei auszuführen App-Dienst und verwenden Sie das soeben erstellte My-App-Image als Basis-Image. Darüber hinaus können Portmapping und andere Dienste konfiguriert werden.

  1. Bereitstellen der Anwendung

Verwenden Sie den folgenden Befehl, um die Anwendung in der Produktionsumgebung bereitzustellen:

docker-compose up -d
Nach dem Login kopieren

Dieser Befehl startet den App-Dienst im Hintergrund und stellt ihn Port 80 des Hosts zur Verfügung.

Das Obige sind die spezifischen Schritte und Codebeispiele zur Verwendung von Docker für kontinuierliche Integration und kontinuierliche Bereitstellung. Mit Docker können Sie den Umgebungskonfigurations- und Bereitstellungsprozess vereinfachen und die Entwicklungseffizienz und Anwendungszuverlässigkeit verbessern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker für kontinuierliche Integration und kontinuierliche Bereitstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verpacken Sie ein Projekt mit Pycharm So verpacken Sie ein Projekt mit Pycharm Apr 25, 2024 am 03:54 AM

Es gibt vier Möglichkeiten, ein Projekt in PyCharm zu verpacken: Als separate ausführbare Datei verpacken: In das EXE-Einzeldateiformat exportieren. Als Installationsprogramm verpackt: Setuptools-Makefile generieren und erstellen. Als Docker-Image verpacken: Geben Sie einen Image-Namen an, passen Sie die Build-Optionen an und erstellen Sie. Als Container verpacken: Geben Sie das zu erstellende Image an, passen Sie die Laufzeitoptionen an und starten Sie den Container.

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Apr 26, 2024 am 10:19 AM

Übersicht LLaMA-3 (LargeLanguageModelMetaAI3) ist ein groß angelegtes Open-Source-Modell für generative künstliche Intelligenz, das von Meta Company entwickelt wurde. Im Vergleich zur Vorgängergeneration LLaMA-2 gibt es keine wesentlichen Änderungen in der Modellstruktur. Das LLaMA-3-Modell ist in verschiedene Maßstabsversionen unterteilt, darunter kleine, mittlere und große, um unterschiedlichen Anwendungsanforderungen und Rechenressourcen gerecht zu werden. Die Parametergröße kleiner Modelle beträgt 8 B, die Parametergröße mittlerer Modelle beträgt 70 B und die Parametergröße großer Modelle erreicht 400 B. Beim Training besteht das Ziel jedoch darin, multimodale und mehrsprachige Funktionalität zu erreichen, und die Ergebnisse werden voraussichtlich mit GPT4/GPT4V vergleichbar sein. Ollama installierenOllama ist ein Open-Source-Großsprachenmodell (LL

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Architektur und Praxis verteilter PHP-Systeme Architektur und Praxis verteilter PHP-Systeme May 04, 2024 am 10:33 AM

Die verteilte PHP-Systemarchitektur erreicht Skalierbarkeit, Leistung und Fehlertoleranz durch die Verteilung verschiedener Komponenten auf mit dem Netzwerk verbundene Maschinen. Die Architektur umfasst Anwendungsserver, Nachrichtenwarteschlangen, Datenbanken, Caches und Load Balancer. Zu den Schritten zur Migration von PHP-Anwendungen auf eine verteilte Architektur gehören: Identifizieren von Dienstgrenzen, Auswählen eines Nachrichtenwarteschlangensystems, Einführung eines Microservices-Frameworks, Bereitstellung für die Containerverwaltung, Diensterkennung

Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Jun 05, 2024 pm 08:29 PM

Stellen Sie Java EE-Anwendungen mithilfe von Docker-Containern bereit: Erstellen Sie eine Docker-Datei, um das Image zu definieren, erstellen Sie das Image, führen Sie den Container aus, ordnen Sie den Port zu und greifen Sie dann im Browser auf die Anwendung zu. Beispiel für eine JavaEE-Anwendung: Die REST-API interagiert mit der Datenbank und ist nach der Bereitstellung über Docker auf localhost zugänglich.

Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Apr 29, 2024 pm 03:09 PM

Die Containerisierung verbessert die Leistung von Java-Funktionen auf folgende Weise: Ressourcenisolation – Gewährleistung einer isolierten Computerumgebung und Vermeidung von Ressourcenkonflikten. Leicht – beansprucht weniger Systemressourcen und verbessert die Laufzeitleistung. Schneller Start – reduziert Verzögerungen bei der Funktionsausführung. Konsistenz – Entkoppeln Sie Anwendungen und Infrastruktur, um ein konsistentes Verhalten in allen Umgebungen sicherzustellen.

See all articles