De zéro à l'automatisation des conteneurs en 7 minutes

Dans un article précédent (en portugais), j'ai expliqué comment créer un backend GraphQL entièrement fonctionnel en utilisant simplement une image Docker et un fichier de configuration. Tout cela peut être trouvé sur le site Azure . Pour l'instant, parlons de la façon d'automatiser les déploiements créés pour notre hébergement et nos mises à jour côté serveur!



Le but de tout ce projet est de créer un back-end pour que mes futures archives de contenu soient hébergées sur mon site . Cependant, chaque fois que je mets à jour le back-end ou que je change le schéma GraphQL, je dois refaire un déploiement de service complet.



, push Azure. . , , GitHub Azure. , GitHub , ?



GitHub Actions





GitHub, , Travis Circle, . , .



: + backend-:





, , : docker-compose.yml mongoke.yml, GraphQL.



, , «» — !





GitHub , , , . ? , :



  1. push
  2. Azure main service, , Azure/login
  3. Azure/cli, .


:



  • GitHub , , URL- YAML- Mongoke
  • URI MongoDB,




-, : , , URL- MongoDB . «» «». , « » . URI MongoDB, MONGODB_URI.





Azure



GitHub Azure, Service Principal. .



Azure CLI. az login, :



az ad sp create-for-rbac --name <SP-name> --role contributor --scopes /subscriptions/<subscriptionID>/resourceGroups/<resourcegroupname> --sdk-auth


ID , az account list : isDefault true. , , : , .



: , , Resource Group. « -», - .



JSON :



{
  "clientId": "xxxxxxx",
  "clientSecret": "xxxxxxxx",
  "subscriptionId": "xxxxxxxx",
  ...
}


GitHub AZURE_CREDENTIALS:





:







, «» «» « »:





, :





, GitHub Actions — , YAML- /.Github/workflows. , . publish-prod.yml:



:





— GitHub, :





, . , push , , , . , , intellisense:





, . . the official documentation

, , , . env:





, . , . , . , :





Ubuntu, : in the documentation. . — , . , !



, Azure ! Azure/ :





. , :





. , AZURE_CREDENTIALS. , , : $ {{secrets.AZURE_CREDENTIALS}}.



:





, « », — Azure. run, , . :





, MONGOKE_CONFIG_URL. , SHA- , . , . « URL-».



Workflow Command, GitHub Actions, ::. set-env, . : ::set-env name=<name>::<value>, :





, ${{env.MONGOKE_CONFIG_URL}} ?v= native environment variable, GITHUB_SHA. :





, , . MONGOKE_CONFIG_URL, MONGOKE_URL:





:





« » :







«»:





, . , , :





Azure , :





, , URL- :







7 Azure , , , , !



GitHub Actions !



!






. - , dev.to




All Articles