Ein Hinweis, der eine Python-Anwendung von Circle CI auf Elastic Beanstalk bereitstellt und Slack benachrichtigt

Vorbereitung

Registrieren Sie sich als Repository in Circle CI

Wenn Sie sich für Circle CI anmelden, werden einige Repositorys angezeigt. Wählen Sie sie daher aus. Wählen Sie diese Option, um den Build auszuführen.

Legen Sie den AWS-Zugriffsschlüssel fest

Wählen Sie das registrierte Repository in BUILDS aus und wählen Sie oben rechts die Projekteinstellungen. Gehen Sie zu ERLAUBNISSE → AWS-Berechtigungen und registrieren Sie Ihre Zugangsschlüssel-ID und Ihre geheime Zugangsschlüssel-ID. Dies wird intern zum Zeitpunkt der Erstellung in ~ / .aws / config und ~ / .aws / credentials geschrieben. Der Profilname lautet "[Standard]". Seien Sie also vorsichtig, wenn Sie die .config-Datei bereits im Verzeichnis .elasticbeanstalk mit einem anderen Profilnamen bearbeitet haben.

Slack einrichten

Rufen Sie die WebHook-URL ab und gehen Sie zu Circle CI. Überprüfen Sie mit Test Hook.

Fügen Sie circle.yml hinzu und bearbeiten Sie es

Vielleicht musste ich es direkt unter das Repository-Stammverzeichnis stellen.

Geben Sie ein Verzeichnis an

Nicht erforderlich, wenn sich der Quellcode im Stammverzeichnis des Repositorys befindet.

general:
  build_dir: src

Maschinenspezifikation

Entsprechend der Python3-Umgebung, die jetzt mit Elastic Beanstalk erstellt werden kann, wie folgt.

machine:
  python:
    version: 3.4.3

Einstellung, um awsebcli zu setzen

Hier sind auch abhängige Bibliotheken enthalten.

dependencies:
  pre:
    - pip install -r requirements.txt
    - pip install awsebcli

Wenn Sie gleichzeitig einen Test ausführen möchten

Wie nachstehend

test:
  override:
    - python test.py

Zu implementierende Einstellungen

Der Filialname und der Umgebungsname auf Elastic Beanstalk.

deployment:
  staging:
    branch: develop
    commands:
      - eb deploy eb-environment-name

Hinzufügen und Bearbeiten der Elastic Beanstalk-Konfigurationsdatei

Fügen Sie .elasticbeanstalk / config.yml zum Bereitstellungsverzeichnis hinzu (diesmal src). Bearbeiten Sie wie folgt. Wie oben erwähnt, lautet der Profilname "Standard".

branch-defaults:
  default:
    environment: eb-environment-name
global:
  application_name: eb-app-name
  default_ec2_keyname: null
  default_platform: 64bit Amazon Linux 2016.03 v2.1.0 running Python 3.4
  default_region: ap-northeast-1
  profile: default
  sc: null

Wenn Sie bereits einen anderen als den Standardprofilnamen festgelegt haben

Überschreiben Sie "~ / .aws / credentials" mit "pre" in "circle.yml". Zuerst habe ich nicht bemerkt, dass "~ / .aws / credentials" auf der Circle CI-Seite geschrieben wurde, und ich habe es selbst geschrieben und war erfolgreich, daher sollte diese Methode in Ordnung sein.

Versuchen Sie zu implementieren

Drücken Sie circle.yml und .elasticbeanstalk / config.yml. Es sollte nach einer Weile bereitgestellt werden.

Recommended Posts

Ein Hinweis, der eine Python-Anwendung von Circle CI auf Elastic Beanstalk bereitstellt und Slack benachrichtigt
[AWS] Flask-Anwendungsbereitstellungsversion, die versucht hat, eine Python-Umgebung mit eb zu erstellen [Elastic Beanstalk]
[AWS] Vorbereitung der Bereitstellung von Flask-Anwendungen zum Erstellen einer Python-Umgebung mit eb [Elastic Beanstalk]
Senden Sie eine Nachricht von Slack an einen Python-Server
Eine Python-Client-App, die Dateien aus S3 herunterlädt und löscht, indem ein Bucket angegeben wird
Post von Python nach Slack
So schreiben Sie eine Meta-Klasse, die sowohl Python2 als auch Python3 unterstützt
Eine Geschichte über alles von der Datenerfassung über die KI-Entwicklung bis hin zur Veröffentlichung von Webanwendungen in Python (3. KI-Entwicklung)
Senden Sie eine Nachricht von IBM Cloud Functions an Slack in Python
Eine Kurzanleitung zu PyFlink, die Apache Flink und Python kombiniert
[Python] Ein Hinweis, dass ich das Verhalten von matplotlib.pyplot zu verstehen begann
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
Migration von Python2 zu Python3 (Python2 wird als virtuelle Umgebung neu erstellt und existiert gleichzeitig)
(Hinweis) Eine Webanwendung, die TensorFlow verwendet, um empfohlene Songnamen abzuleiten.
Stellen Sie von Python aus eine Verbindung zu postgreSQL her und verwenden Sie gespeicherte Prozeduren in einer Schleife.
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Von Python bis zur Verwendung von MeCab (und CaboCha)
Portieren und Ändern des Doublet-Solvers von Python2 auf Python3.
Beachten Sie, dass cibuildwheel das Python-Rad (einschließlich des C ++ - Moduls) in großen Mengen mit CI erstellt und auf PyPI hochlädt
Ich möchte ein Programm ausführen und verteilen, das die Größe von Bildern in Python3 + Pyinstaller ändert
WEB Scraping mit Python und versuchen, aus Bewertungen eine Wortwolke zu machen
C-Sprache zum Sehen und Erinnern Teil 3 Rufen Sie die C-Sprache aus Python auf (Argument) c = a + b
Erstellen Sie Einstellungen in Terraform, um Nachrichten von AWS Lambda Python3.8 an Slack zu senden
Führen Sie Python-Skripte in C # -GUI-Anwendungen aus
So öffnen Sie einen Webbrowser über Python
Bildtext und Post to Slack (Python Slackbot)
Ein netter Nimporter, der Nim und Python verbindet
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
So generieren Sie ein Python-Objekt aus JSON
Schritte zum Entwickeln einer Webanwendung in Python
[Einführung in die Udemy Python3 + -Anwendung] 64. Namespace und Gültigkeitsbereich
Python Hinweis: Wenn Sie einer Zeichenfolge einen Wert zuweisen
"Python Kit", das Python-Skripte von Swift aufruft
[Python] Wirf eine Nachricht an den Slack-Kanal
Python-Skript, das das Azure-Status-RSS crawlt und an Hipchat sendet
Ein Programm, das ein paar Kilogramm BMI und Standardgewicht verlangt [Python]
(Hinweis) Web-App, die TensorFlow verwendet, um empfohlene Songnamen abzuleiten [Maschinelles Lernen]
Verwenden Sie Slackbot als Relais und kehren Sie im JSON-Format von Flasche zu Slack zurück.
Ein Mechanismus zum Aufrufen von Ruby-Methoden aus Python, der in 200 Zeilen ausgeführt werden kann