Maison >développement back-end >Tutoriel Python >Projets ython pour lancer l'apprentissage de Python
Démarrez avec l'automatisation DevOps à l'aide de scripts Python
Bienvenue dans le monde de DevOps et Python
C’est un mythe répandu selon lequel les ingénieurs DevOps ne codent pas, mais la vérité est loin d’être le cas. Les ingénieurs DevOps s'appuient souvent sur des compétences en programmation pour automatiser les processus, gérer l'infrastructure et simplifier les flux de travail. Python et Go sont deux des langages les plus appréciés dans le monde DevOps en raison de leur polyvalence et de leur facilité d'utilisation.
Aujourd'hui, nous allons nous lancer dans un voyage passionnant pour créer trois projets Python qui non seulement vous présenteront l'essentiel de la programmation, mais vous aideront également à créer des applications significatives et pratiques.
Voici ce que nous allons explorer :
Alors, êtes-vous prêt à vous lancer dans ce voyage ? Commençons !
Avant de nous lancer dans le codage, assurons-nous que vous disposez de tout ce dont vous avez besoin pour commencer. Ces projets sont adaptés aux débutants, mais la mise en place des outils et compétences suivants rendra le processus plus fluide :
1. Connaissances de base de Python
Comprendre les variables, les fonctions, les boucles et comment travailler avec les bibliothèques sera utile. Ne vous inquiétez pas si vous êtes nouveau : ces projets renforceront votre apprentissage !
2. Environnement Python
Assurez-vous que Python est installé sur votre système. Vous pouvez le télécharger depuis python.org. Un éditeur de code comme VS Code ou PyCharm est également recommandé.
3. Principes fondamentaux de l'API
Vous travaillerez avec des API dans les trois projets. La connaissance de la création de requêtes HTTP et de la gestion des réponses JSON est un bonus, mais je vous guiderai à travers chaque étape.
4. Outils à installer
Une fois que vous êtes prêt avec ces pré-requis, nous pouvons nous lancer dans notre premier projet : créer un programme météo !
Plongeons dans notre premier projet Python : un programme météo. Ce script simple mais pratique prendra le nom d'une ville comme entrée de l'utilisateur et affichera sa météo actuelle. Pour y parvenir, nous utiliserons WeatherAPI pour récupérer des données météorologiques en temps réel au format JSON et les afficher de manière conviviale.
Comment ça marche :
Instructions étape par étape :
import requests def get_city_weather(city, api_key): city_name = city.lower() url = f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={city_name}" response = requests.get(url) if response.status_code == 200: data = response.json() description = data['current']['condition']['text'] temp = data['current']['temp_c'] wind = data['current']['wind_kph'] print(f"\nWeather in {city.capitalize()}:") print(f"Temperature: {temp}°C") print(f"Wind Speed: {wind} Km/hr") print(f"Condition: {description.capitalize()}") else: print(f"{city_name} not found.") def main(): city = input("Enter Your City: ") API_KEY = "<Your_API_KEY>" get_city_weather(city, API_KEY) if __name__ == "__main__": main()
Configurez votre clé API :
Copiez la clé API et remplacez-la dans le code par la clé réelle.
Exécutez le script :
Exemple de sortie :
Enter Your City: Ganganagar Weather in Ganganagar: Temperature: 24°C Wind Speed: 10 Km/hr Condition: Clear
Et c'est tout ! Vous avez créé avec succès votre premier projet Python. Il s'agit d'un moyen simple mais puissant de voir comment les API fonctionnent dans des applications réelles.
Maintenant, créons un tracker GitHub Pull Request (PR). Ce projet exploite l'API GitHub pour récupérer des détails sur les demandes d'extraction pour un référentiel spécifique. Nous filtrerons les données pour extraire les noms d'utilisateur des créateurs de relations publiques, compter le nombre de relations publiques réalisées par chaque créateur et afficher ces informations.
Comment ça marche :
Instructions étape par étape :
import requests def get_city_weather(city, api_key): city_name = city.lower() url = f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={city_name}" response = requests.get(url) if response.status_code == 200: data = response.json() description = data['current']['condition']['text'] temp = data['current']['temp_c'] wind = data['current']['wind_kph'] print(f"\nWeather in {city.capitalize()}:") print(f"Temperature: {temp}°C") print(f"Wind Speed: {wind} Km/hr") print(f"Condition: {description.capitalize()}") else: print(f"{city_name} not found.") def main(): city = input("Enter Your City: ") API_KEY = "<Your_API_KEY>" get_city_weather(city, API_KEY) if __name__ == "__main__": main()
Exécutez le script :
Résultat attendu :
Lorsque le script s'exécute avec succès, il récupère les détails des demandes d'extraction du référentiel argoproj/argo-cd. Cela présentera le résultat suivant :
Enter Your City: Ganganagar Weather in Ganganagar: Temperature: 24°C Wind Speed: 10 Km/hr Condition: Clear
Cas d'utilisation :
Et voilà ! Un script fonctionnel qui récupère les données en direct de GitHub et les traite pour obtenir des informations réelles.
Notre projet final est un joyau : un script qui intègre Jenkins et Slack pour automatiser les notifications de build. Ce script Python déclenche un pipeline Jenkins, surveille son état et envoie une notification à votre chaîne Slack lorsque le pipeline est terminé.
Comment ça marche :
Instructions étape par étape :
Créer un fichier Python :
Créez un fichier nommé jenkins-slack-integration.py dans votre éditeur de code.
Insérez le code suivant :
import requests url = 'https://api.github.com/repos/argoproj/argo-cd/pulls' response = requests.get(url) if response.status_code == 200: pull_requests = response.json() pr_creators = {} for pull in pull_requests: creator = pull['user']['login'] if creator in pr_creators: pr_creators[creator] += 1 else: pr_creators[creator] = 1 print(f"PR Creator counts: {pr_creators}") for creator, count in pr_creators.items(): print(f"Creator: {creator}: {count} PRs") else: print(f"Failed to make connection. Status Code: {response.status_code}")
Configurer Jenkins :
Créez un projet de pipeline dans Jenkins nommé Jenkins-Python-pipeline.
Ajoutez le script de pipeline Hello World suivant :
PR Creator counts: {'dependabot[bot]': 7, 'devopsjedi': 1, 'aali309': 3, 'adriananeci': 1, 'amine7536': 1, 'lf32': 1, 'OpenGuidou': 1, 'ivan-cai': 1, 'surajyadav1108': 2, 'vasilegroza': 1, 'toyamagu-2021': 1, 'dvcanton': 1, 'vivian-xu': 1, 'rahulbollisetty': 1, 'blakepettersson': 1, 'dacofr': 1, 'mrysavy': 1, 'damsien': 1, 'lsq645599166': 1, 'jpbelangerupgrade': 1, 'Aaron-9900': 1} Creator: dependabot[bot]: 7 PRs Creator: devopsjedi: 1 PRs Creator: aali309: 3 PRs Creator: adriananeci: 1 PRs Creator: amine7536: 1 PRs Creator: lf32: 1 PRs Creator: OpenGuidou: 1 PRs Creator: ivan-cai: 1 PRs Creator: surajyadav1108: 2 PRs Creator: vasilegroza: 1 PRs Creator: toyamagu-2021: 1 PRs Creator: dvcanton: 1 PRs Creator: vivian-xu: 1 PRs Creator: rahulbollisetty: 1 PRs Creator: blakepettersson: 1 PRs Creator: dacofr: 1 PRs Creator: mrysavy: 1 PRs Creator: damsien: 1 PRs Creator: lsq645599166: 1 PRs Creator: jpbelangerupgrade: 1 PRs Creator: Aaron-9900: 1 PRs # The details will vary accroding to the time when you run the script.
Générer un jeton API Jenkins :
Configurer Slack :
Exécutez le script :
Exemple de sortie dans Slack :
Pipeline construit avec succès avec le statut : **SUCCÈS**
Ce projet est un exemple fantastique de la façon dont Python peut combler le fossé entre les outils CI/CD et les plateformes de communication, en automatisant les notifications et en améliorant la collaboration.
Félicitations pour avoir terminé ces trois projets Python passionnants ! Chaque projet a été conçu pour vous apprendre comment Python peut être utilisé dans des scénarios réels :
Ces projets ne sont que la pointe de l'iceberg. Au fur et à mesure de votre exploration, vous verrez comment la polyvalence de Python en fait une compétence indispensable pour tout ingénieur DevOps. Au-delà du codage, il permet l'automatisation, améliore la productivité et comble le fossé entre les flux de travail complexes et les solutions conviviales.
Continuez à construire, à expérimenter et à apprendre : c'est l'essence même de Python et de DevOps ! N'oubliez pas que la meilleure façon de maîtriser la programmation est de la faire.
Merci de m'avoir rejoint dans ce voyage ! Si vous avez apprécié ce blog, n'hésitez pas à le partager avec vos amis et camarades apprenants.
? Pour un blog plus informatif, suivez-moi sur Hashnode, X(Twitter) et LinkedIn.
En attendant, bon codage !!
Bon apprentissage ! ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!