5 подписчиков
Примеры кода, которые демонстрируют возможности Python в автоматизации процессов DevOps. В зависимости от конкретных задач и инструментов, которые вы используете, код может варьироваться.
1. Пример скрипта для выполнения команды на удаленном сервере через SSH (используя библиотеку Paramiko):
import paramiko
def execute_remote_command(hostname, username, password, command):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, username=username, password=password)
stdin, stdout, stderr = client.exec_command(command)
output = stdout.read().decode()
client.close()
return output
# Пример использования
hostname = 'example.com'
username = 'username'
password = 'password'
command = 'ls -l /path/to/directory'
result = execute_remote_command(hostname, username, password, command)
print(result)
2. Пример использования библиотеки requests для взаимодействия с API:
import requests
def get_data_from_api(url, headers=None, params=None):
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
return response.json()
else:
return None
# Пример использования
params = {'param1': 'value1', 'param2': 'value2'}
data = get_data_from_api(url, headers=headers, params=params)
print(data)
3. Пример использования библиотеки Docker SDK для взаимодействия с Docker:
import docker
def create_container(image, command):
client = docker.from_env()
container = client.containers.run(image, command, detach=True)
return container.id
# Пример использования
image = 'nginx:latest'
command = 'nginx -g "daemon off;"'
container_id = create_container(image, command)
print(f'Created container with ID: {container_id}')
4. Пример использования библиотеки GitPython для работы с репозиториями Git:
from git import Repo
def clone_repository(url, path):
repo = Repo.clone_from(url, path)
return repo
# Пример использования
repository_url = 'https:/...it'
local_path = '/path/to/local/repository'
repo = clone_repository(repository_url, local_path)
print(f'Repository cloned to: {repo.working_dir}')
5. Пример использования библиотеки boto3 для автоматического масштабирования инфраструктуры в Amazon Web Services (AWS):
import boto3
def scale_up_instances(ec2_client, instance_ids):
response = ec2_client.start_instances(InstanceIds=instance_ids)
return response
# Пример использования
ec2_client = boto3.client('ec2', region_name='us-east-1')
instances_to_scale = ['instance_id1', 'instance_id2']
response = scale_up_instances(ec2_client, instances_to_scale)
print(response)
6. Пример использования библиотеки pytest для автоматизированного тестирования:
import pytest
def test_addition():
assert 2 + 2 == 4
# Запуск тестов
if __name__ == '__main__':
pytest.main()
7. Пример использования библиотеки Flask для создания простого веб-сервера:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
# Запуск сервера
if __name__ == '__main__':
app.run()
8. Пример использования библиотеки Selenium для автоматизации тестирования веб-интерфейса:
from selenium import webdriver
def test_website():
driver = webdriver.Chrome()
driver.get('https://www.example.com')
assert 'Example' in driver.title
driver.quit()
# Запуск теста
if __name__ == '__main__':
test_website()
2 минуты
23 июня 2023