Le Cookeo à Rétro est une application Flask qui permet aux utilisateurs de générer des plans personnalisés pour des ateliers de rétrospective. Elle utilise l'API de Vertex AI, le modèle Gemini 1.5 Pro pour créer des suggestions dynamiques basées sur les entrées des utilisateurs.
La définition du prompt est lisible ici
git clone https://votre-repository/votre-projet.git
cd votre-projet
pip install -r requirements.txt
Téléchargez et installez la dernière version de Java 8 ou supérieure à partir du site Web d'Oracle : https://www.oracle.com/java/technologies/javase-downloads.html
Ouvrez votre terminal.
Modifiez le fichier .bashrc ou .zshrc en fonction de votre shell.
Ajoutez la ligne suivante au fichier, en remplaçant /path/to/java/bin par le chemin d'accès au répertoire bin de votre installation Java :
export PATH=$PATH:/path/to/java/bin
Enregistrez le fichier et fermez-le.
Exécutez la commande source ~/.bashrc ou source ~/.zshrc pour appliquer les modifications.
Créez un fichier .env.local
dans le répertoire env/
avec les variables d'environnement suivantes :
PROJECT_ID
REGION
GAR_REPOSITORY
MAILGUN_USERNAME
MAILGUN_DOMAIN
MAILGUN_SERVER
MAILGUN_API_KEY_NOPROD
MAILGUN_API_KEY_PROD
SECRET_KEY
FIRESTORE_EMULATOR_HOST
IMAGE_NAME
SERVICE_NAME
Vous pouvez trouver les valeurs pour ces variables dans Secret Manager
export FLASK_APP=app.py
export FLASK_ENV=development
flask run
Ouvrez votre navigateur et accédez à http://127.0.0.1:5000/ pour utiliser l'application.
app.py
: Le point d'entrée de l'application Flask./templates
: Dossiers contenant les fichiers HTML pour les templates./static
: Contient les fichiers CSS et JavaScript.Pour ajouter de nouvelles fonctionnalités, vous pouvez modifier app.py et les templates associés. Assurez-vous de suivre les bonnes pratiques de développement Flask et de documenter vos changements.
Lancez l'émulateur google-cloud-firestore
avec la commande :
gcloud emulators firestore start --host-port=localhost:8080&
bash cicd/macosx_linux/build_push_deploy.sh
bash cicd/macosx_linux/clean-env.sh
bash deploy_branch.bat
env/.env.local
source env/.env.local
${BRANCH_NAME}
avec le nom de votre branche :export BRANCH_NAME=$(git branch --show-current)
${SERVICE_NAME}
contenant le nom de votre service de testexport SERVICE_NAME=cookeo-a-retro-${BRANCH_NAME}
export SECRETS=(
"MAILGUN_USERNAME"
"MAILGUN_DOMAIN"
"MAILGUN_SERVER"
"MAILGUN_API_KEY_NOPROD"
"SECRET_KEY"
)
gcloud auth print-access-token \
| docker login \
-u oauth2accesstoken \
--password-stdin https://${REGION}-docker.pkg.dev
Pour builder votre conteneur de test, utilisez la commande :
docker build \
-t ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest \
. \
--platform linux/amd64
Poussez votre image dans la registry :
docker push ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest
gcloud run deploy ${SERVICE_NAME} \
--region ${REGION} \
--image ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest \
--platform managed \
--port 5000 \
--set-secrets=$( \
for secret_name in "${SECRETS[@]}"; do
secret_path=$(gcloud secrets versions access latest --project $PROJECT_ID --secret $secret_name --format='value(name)')
echo "$secret_name=$secret_path"
done | paste -sd, - \
) \
--set-env-vars=REGION=${REGION},BRANCH_NAME=${BRANCH_NAME} \
--allow-unauthenticated
Afin de ne pas trop consommer de ressources GCP, il est nécessaire de nettoyer les artefacts de sa branches une fois les tests effectués
gcloud run services delete ${SERVICE_NAME} --region ${REGION}
gcloud artifacts docker images delete ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}
Supprimez les collections firestore créées temporairement dans la console Firestore
git checkout main
git pull -r
export IMAGE_TAG=<votre-tag-au-format-X.Y.Z>
git tag -a v${IMAGE_TAG} -m "<Votre commentaire>"
git push push origin tag v${IMAGE_TAG}
${SERVICE_NAME}
contenant le nom du service cookeo-a-retro
export SERVICE_NAME=cookeo-a-retro
export SECRETS=(
"MAILGUN_USERNAME"
"MAILGUN_DOMAIN"
"MAILGUN_SERVER"
"MAILGUN_API_KEY_PROD"
"SECRET_KEY"
)
gcloud auth print-access-token \
| docker login \
-u oauth2accesstoken \
--password-stdin https://${REGION}-docker.pkg.dev
Pour builder le conteneur, utilisez la commande :
docker build \
-t ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG} \
. \
--platform linux/amd64
Poussez votre image dans la registry :
docker push ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG}
gcloud run deploy ${SERVICE_NAME} \
--region ${REGION} \
--image ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG} \
--platform managed \
--port 5000 \
--set-secrets=$( \
for secret_name in "${SECRETS[@]}"; do
secret_path=$(gcloud secrets versions access latest --project $PROJECT_ID --secret $secret_name --format='value(name)')
echo "$secret_name=$secret_path"
done | paste -sd, - \
) \
--set-env-vars=REGION=${REGION} \
--allow-unauthenticated
Les contributions sont les bienvenues. Veuillez ouvrir une issue pour discuter de ce que vous aimeriez changer ou soumettre directement une pull request.
For Unix :
Use the command line :
./deploy_branch.sh
For Windows :
Use the command line :
deploy_branch.bat