0

J'utilise un pipeline IBM devops basé sur le modèle Cloud Foundry. Le modèle vous donne des déploiements Blue-Green. scénarioComment reconfigurer par programme la disponibilité de la surveillance dans l'étape DevOps pour le déploiement Blue-Green?

Mon deploy scène ressemble à ceci:

#!/bin/bash 

cat <<EOF> ${WORKSPACE}/manifest.yml 
declared-services: 
    my_cloudant: 
     label: cloudantNoSQLDB 
     plan: Lite 

    my_messagehub: 
     label: messagehub 
     plan: standard 

    my_autoscaling: 
     label: Auto-Scaling 
     plan: free 

    my_availability_monitoring: 
     label: AvailabilityMonitoring 
     plan: Lite 

applications: 
- name: movie-recommend-demo 
    host: movie-recommend-demo 
    buildpack: https://github.com/cloudfoundry/python-buildpack.git#v1.5.18 
    memory: 128M 
    instances: 2 
    path: web_app 
    services: 
    - my_cloudant 
    - my_messagehub 
    - my_autoscaling 
    - my_availability_monitoring 
    timeout: 180 
env: 
    # these are set in the devops stage ENVIRONMENT PROPERTIES 
    BI_HIVE_USERNAME: ${BI_HIVE_USERNAME} 
    BI_HIVE_PASSWORD: ${BI_HIVE_PASSWORD} 
    BI_HIVE_HOSTNAME: ${BI_HIVE_HOSTNAME} 
EOF 

# Push app 
if ! cf app $CF_APP; then 
    cf push $CF_APP 
else 
    OLD_CF_APP=${CF_APP}-OLD-$(date +"%s") 
    rollback() { 
    set +e 
    if cf app $OLD_CF_APP; then 
     cf logs $CF_APP --recent 
     cf delete $CF_APP -f 
     cf rename $OLD_CF_APP $CF_APP 
    fi 
    exit 1 
    } 
    set -e 
    trap rollback ERR 
    cf rename $CF_APP $OLD_CF_APP 
    cf push $CF_APP 
    cf delete $OLD_CF_APP -f 
fi 

# TODO: 
# - Reconfigure Availability Monitoring on Green deployment 
# - Reconfigure Autoscaling on Green deployment (https://console.bluemix.net/docs/cli/plugins/auto-scaling/index.html) 

# Export app name and URL for use in later Pipeline jobs 
export CF_APP_NAME="$CF_APP" 
export APP_URL=http://$(cf app $CF_APP_NAME | grep urls: | awk '{print $2}') 

# View logs 
#cf logs "${CF_APP}" --recent 

Avant la mise en place et l'exécution de la scène, j'avais la configuration de la surveillance de la disponibilité sur mon application de la fonderie de nuages. L'exécution de la scène a entraîné la suppression de ma configuration de surveillance de la disponibilité. Comment puis-je reconfigurer automatiquement la surveillance de la disponibilité dans le nouveau déploiement «vert» avec le script?

J'avais une question similaire pour Auto Scaling, mais il semble y avoir une API/CLI que je peux utiliser pour reconfigurer ce service. Cependant, je suis tombé sur a problem en utilisant cf oauth-token

Répondre

1

Ceci est une lacune actuelle dans le service qui est activement travaillé et devrait être disponible plus tard cette année. Pour l'instant, la façon de conserver la configuration est de ne pas supprimer l'application mais de réutiliser 2 applications. Cela peut devenir un peu confus quant à savoir lequel a les tests même si vous ne liez le service à une application, surtout si vous utilisez l'onglet de surveillance. Ce que nous faisons quand l'autosurveillance est de créer une application fictive dans l'espace et de lier le service (il n'a même pas besoin d'être en cours d'exécution). Nous l'utilisons ensuite pour surveiller les applications bleues/vertes. Ici, nous ne supprimons pas l'application, mais réutilisons simplement les applications.

+0

Merci @Adam. Y at-il un endroit où je peux m'abonner pour obtenir les mises à jour sur la fonctionnalité dès qu'elle est disponible? –

+0

Êtes-vous en mesure d'aider avec une question similaire sur la mise à l'échelle automatique: https://stackoverflow.com/questions/44668912/how-to-retrieve-the-cloud-foundry-oauth-token-from-a-devops-deploy- étape-pour-ensemble? –