Maison >Opération et maintenance >exploitation et maintenance Linux >Quelques résumés des scripts Sh sous Linux
À partir du projet open source .netCore, le déploiement d'eShopOnContainers est multiplateforme et peut être déployé sur linux, docker, et il peut également être exécuté sur Linux. petits scripts intégrés. Il s'agit du script SH que les ingénieurs de WeChat nous fournissent avec un plan de déploiement et de publication
#!/bin/bash declare -a projectList=( '../src/Services/Catalog/Catalog.API' '../src/Services/Basket/Basket.API' '../src/Services/Ordering/Ordering.API' '../src/Services/Identity/Identity.API' '../src/Web/WebMVC' '../src/Web/WebSPA' '../src/Web/WebStatus') # Build SPA app # pushd $(pwd)../src/Web/WebSPA # npm run build:prodfor project in "${projectList[@]}"do echo -e "\e[33mWorking on $(pwd)/$project" echo -e "\e[33m\tRemoving old publish output" pushd $(pwd)/$project rm -rf obj/Docker/publish echo -e "\e[33m\tRestoring project" dotnet restore echo -e "\e[33m\tBuilding and publishing projects" dotnet publish -o obj/Docker/publish popd done # remove old docker images: images=$(docker images --filter=reference="eshop/*" -q)if [ -n "$images" ]; then docker rm $(docker ps -a -q) -f echo "Deleting eShop images in local Docker repo" echo $images docker rmi $(docker images --filter=reference="eshop/*" -q) -f fi # No need to build the images, docker build or docker compose will # do that using the images and containers defined in the docker-compose.yml file.
La solution ci-dessus reflète principalement certaines commandes utilisées lors de la sortie, telles que array, parcours, instructions conditionnelles, supprimer fichiers, instructions de publication, etc. J'ai écrit et pratiqué par moi-même
declare -a arr=(12345)for i in "${arr[@]}"do if [ $i == 2 ] then echo "a is equal to 2"else echo "a is not equal to 2"fi done declare -a projectList=( '../src/Services/Catalog/Catalog.API' '../src/Services/Basket/Basket.API' '../src/Services/Ordering/Ordering.API' '../src/Services/Identity/Identity.API' '../src/Web/WebMVC' '../src/Web/WebSPA' '../src/Web/WebStatus')for project in "${projectList[@]}"do echo -e "\e[33m工作在目录 $(pwd)/$project" echo -e "\e[33m\tRemoving old publish output"done
Tout le monde devrait faire attention au retour chariot entre Linux et Windows lors de l'écriture de fichiers SH . Les caractères sont différents, on peut télécharger l'outil notepad++ pour transcoder.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!