Ceci est particulièrement courant lors de l'utilisation de bibliothèques qui utilisent des extensions C, mais différentes options de construction peuvent provoquer des problèmes et des erreurs.
Surtout le code de caractère ... Dans la plage observée, l'environnement CircleCI utilise ʻUCS2, et le standard Lambda (Amazon Linux) utilise ʻUCS4
, donc une erreur peut se produire.
Je ne me souviens pas de quel genre d'erreur c'était parce que c'était une période d'essais et d'erreurs, mais j'ai constaté que le code qui fonctionnait avec Python que j'ai mis dans l'environnement Ubuntu à portée de main avec pyenv
ne fonctionnait pas sur Lambda. ..
Tout d'abord, il existe une méthode d'installation et de déploiement de la bibliothèque pypi, etc. dans un environnement indépendant de virtualenv sur Amazon Linux. Le plus simple et le plus fiable. Cependant, il n'est pas bon de configurer un EC2 uniquement dans ce but, et vous utiliserez probablement Jenkins etc., mais l'opération est également gênante.
Vous pouvez l'utiliser n'importe où. Cependant, il est difficile de prendre soin de ne pas polluer l'environnement existant, et CI en tant que service est jeté à chaque fois, de sorte qu'il faut du temps à construire à chaque fois qu'il est déployé. Il existe un moyen de graver l'image à l'aide d'un service qui vous permet d'apporter une image Docker, mais cela semble un peu exagéré.
C'est mon préféré cette fois. Si vous avez rpm
, deb
, etc., qui sont construits avec les mêmes options qu'Amazon Linux et fournissent un runtime Python indépendant, vous pouvez l'utiliser facilement, rapidement et en toute sécurité.
** Donc oui. J'ai fait. ** ** http://qiita.com/marcy-terui/items/9b3610bed4e5fcafd9b9 Il y a certaines options que j'ai supprimées car je ne peux pas dépendre de certaines bibliothèques globales du système, mais il ne devrait y avoir aucun problème car je ne les utilisais généralement pas.
yum
① Ajouter un référentiel
echo "
[bintraybintray-willyworks-rpm]
name=bintray-willyworks-rpm
baseurl=https://dl.bintray.com/willyworks/rpm/centos/\$releaserver/\$basearch/
gpgcheck=0
enabled=1
" | sudo tee -a /etc/yum.repos.d/bintray-willyworks-rpm.repo
② Installation
sudo yum install lamvery
apt
① Ajouter un référentiel
echo "deb https://dl.bintray.com/willyworks/deb trusty main" | sudo tee -a /etc/apt/sources.list
② Installation
sudo apt-get update
sudo apt-get install install lamvery
Les binaires (scripts) d'exécution suivants sont disponibles sous / opt / lamvery / bin
, veuillez donc les utiliser en les passant par votre PATH si nécessaire.
--Python 2.7.9 (au 18 mars 2016)
Pour référence, voici un exemple de description lors de son utilisation avec CircleCI.
circle.yml
---
machine:
environment:
PATH: /opt/lamvery/bin:$PATH
dependencies:
pre:
- |
echo "deb https://dl.bintray.com/willyworks/deb trusty main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install lamvery
L'utilisation de lamvery
dans virtualenv
facilite le déploiement de Lambda pour les fonctions Python.
Si vous êtes intéressé, veuillez également vous y référer. Bien sûr, vous pouvez l'utiliser pour n'utiliser que Python.
À propos de «Lamvery», un outil de déploiement et de gestion pour AWS Lambda http://qiita.com/marcy-terui/items/1617ab4e20e3339d1930
La fonction Lambda déploie les meilleures pratiques avec CircleCI + Lamvery http://qiita.com/marcy-terui/items/900b72efb38f9b26e8f0
C'était Stemmer.
Recommended Posts