Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kemahiran penggunaan automatik dalam pembangunan web Python (Bahagian 2)

Kemahiran penggunaan automatik dalam pembangunan web Python (Bahagian 2)

王林
王林asal
2023-06-17 10:45:531071semak imbas

Memandangkan pembangunan web Python digunakan dalam lebih banyak projek, penggunaan automatik telah menjadi bahagian penting. Pada bahagian pertama, kami menerangkan kaedah penggunaan asas aplikasi web Python dan penggunaan alat yang berkaitan. Dalam artikel ini, kami akan terus memperkenalkan beberapa teknik penggunaan automatik yang lebih maju untuk membantu anda menyelesaikan tugasan anda dengan lebih cekap.

1. Gunakan Fabric untuk mengautomasikan penggunaan

Fabric ialah perpustakaan Python untuk mengautomasikan pelaksanaan perintah dan menjalankan skrip Shell pada mesin tempatan atau jauh. Ia boleh menjadikan proses penempatan lebih automatik dan memudahkan operasi penggunaan yang kompleks. Berikut ialah kod sampel:

from fabric import Connection
from invoke import Responder

def deploy():
    c = Connection(host='server_name', user='username', connect_kwargs={"password": "password"})
    sudo_pass = Responder(pattern=r'[sudo] password:', response='password
')
    c.run('sudo apt-get update', pty=True, watchers=[sudo_pass])
    c.run('sudo apt-get install -y nginx', pty=True, watchers=[sudo_pass])
    c.put('path/to/local/folder', '/path/to/remote/folder')
    c.run('sudo service nginx restart', pty=True, watchers=[sudo_pass])

Contoh di atas ialah kod sampel yang menggunakan Fabric untuk menggunakan aplikasi web Python secara automatik. Ia mula-mula menghantar beberapa arahan dari setempat ke pelayan jauh, kemudian melakukan beberapa operasi pemasangan dan konfigurasi, dan memuat naik fail tempatan ke pelayan jauh.

Perlu diambil perhatian bahawa apabila melaksanakan perintah sudo, anda perlu menggunakan sublibrary Responder untuk mengendalikan input kata laluan sudo.

2. Gunakan penggunaan kontena Docker

Docker ialah enjin kontena aplikasi sumber terbuka yang boleh membantu anda menggunakan dan mengurus aplikasi dengan lebih mudah. Dengan Docker, keseluruhan aplikasi dan semua kebergantungannya boleh dibungkus ke dalam bekas dan dijalankan pada mana-mana platform yang menyokong enjin Docker. Berikut ialah contoh penggunaan Docker untuk menggunakan aplikasi web Python:

FROM python:3.6.4-alpine3.7

RUN mkdir /app
WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

Contoh Dockerfile di atas ialah fail yang dibina berdasarkan imej python:3.6.4-alpine3.7. Ia mula-mula menyalin fail requirements.txt ke dalam bekas dan melaksanakan pemasangan pip dalam bekas untuk memasang semua kebergantungan aplikasi. Kemudian salin keseluruhan aplikasi ke dalam bekas dan dedahkan port 8000 dalam bekas. Akhir sekali, jalankan aplikasi Django pada port 8000.

Dengan cara ini, kami boleh menggunakan Docker untuk menggunakan aplikasi web Python. Ia bukan sahaja mudah untuk diurus, tetapi ia juga memudahkan untuk menggunakan aplikasi dalam persekitaran yang berbeza.

3. Gunakan Jenkins untuk CI/CD automatik

Jenkins ialah alat automasi CI/CD sumber terbuka yang popular yang boleh membantu pembangun membina, menguji, menghantar dan menggunakan aplikasi dengan cepat. Ia boleh disepadukan ke dalam Git, Docker dan alat pembangunan lain untuk membina dan menguji kod secara automatik, dan menggunakan kod secara automatik selepas lulus ujian. Berikut ialah contoh penggunaan Jenkins untuk CI/CD:

  1. Membuat Kerja Jenkins

Kami boleh mencipta Jenkins Job bernama "Python Web App" dan Pilih " Pilihan SCM" dalam pencetus binaan untuk membina dan menggunakan aplikasi secara automatik apabila terdapat komitmen baharu dalam repositori Git.

  1. Menulis Jenkinsfile

Buat fail bernama "Jenkinsfile" dalam direktori akar projek dan nyatakan arahan berikut:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh 'docker build -t python:latest .'
            }
        }
        stage('Test') {
            steps {
                sh 'docker run --rm python:latest python manage.py test'
            }
        }
        stage('Deploy') {
            steps {
                sshagent(['my-ssh-key']) {
                    sh 'ssh user@server "docker-compose down && docker-compose up -d"'
                }
            }
        }
    }
}

Fail Jenkins ini Anda boleh memberitahu Jenkins cara membina aplikasi, menjalankan ujian dan menggunakan kod. Dalam fasa "Deploy", ia menggunakan SSH untuk menyambung ke pelayan jauh dan menggunakan Docker Compose untuk menggunakan aplikasi.

  1. Mulakan binaan Jenkins

Setelah kami mengkonfigurasi Jenkinsfile dan Jenkins Job, kami boleh mula menggunakan Jenkins untuk CI/CD automatik. Hanya serahkan kod baharu dalam repositori Git, dan Jenkins akan mengesan penyerahan baharu secara automatik dan membina, menguji dan menggunakan aplikasi secara automatik.

Ringkasan:

Dalam pembangunan web Python, penggunaan automatik ialah tugas yang sangat penting. Dalam artikel ini kami memperkenalkan beberapa teknik untuk mengautomasikan penggunaan aplikasi web Python menggunakan alatan seperti Fabric, Docker dan Jenkins. Melalui teknik ini, kami boleh menggunakan aplikasi dengan lebih cekap dan meningkatkan kecekapan pembangunan dan kualiti kod. Semoga tips ini bermanfaat untuk anda.

Atas ialah kandungan terperinci Kemahiran penggunaan automatik dalam pembangunan web Python (Bahagian 2). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn